Matrix caching, VertexArray mistake fixes, api expansion to support instancing
Made gl the first constructor parameter