Fixed an OOB issue with GLMesh::MeshGroup_ElementCount

The current implementation would fail if there are no mesh groups.
Removed some unnecessary getInstance calls

Now the return from FactorySystem::getInstance is saved and reused.
Added UV buffer to GLMesh