At some point we should throw away the `Projection`, `Modelview` and the rest, and just have a plain `Matrix`. We can do this later.