Minor update to basic gr types.

- Added MapVector types.
- Fixed some typos breaking build.
- Added gl::loadIdentity.
math_ext Transform update.

Fixed Transform inverting and extended functionality to handle 2D vectors as well as 3D.
Small code design change for gr module.
Major re-write and simplification of rendering code.

Instead of having the render passes as objects added and removed by client code, they're now added by RenderPassManager thus making client code unaware of them. It is up to the RenderPassManager to ensure delegation to right render pass and handling their lifetimes.
Added struct VertexList to hold and help facilitate safe access to vertices.
Added Mesh and Mesh::SubMesh class.

A mesh is a collection of vertices with surface properties.
A sub-mesh is a subset of a mesh with a particular surface property.
Implemented model test and updated TestWindow.

Currently the model test is a mesh test. A model will be a mesh with transformation properties.
Test builds and runs correctly on windows.