After staring at Renderdoc for a while, I finally figured out the magic
combination to make this work. For static models, we need a new constant
buffer for the view(?) matrix.
The biggest change is making the model data read from vertex streams,
like how the retail client is doing. The vertex bindings/locations
should be fixed, resilient for the future and work across more shader
packages.
This now splits up the rendering system into sensible parts, and makes
it easier to switch between the simple renderer and the new experimental
one. Lots of refactors I needed to do for a while are now done, too.