GRIM: Use Vertex Buffer Objects for meshes, when supported

This greatly reduces the number of OpenGL calls needed each frame.

I'm not really happy with the state of the creation code right now, and additionally it is very similar to the code from the OpenGL Shaders backend, so it could potentially be merged somehow.

There are also still a few issues, for example on Eva

![screenshot 2014-07-04 18 04 10](https://cloud.githubusercontent.com/assets/240865/3485466/4df5d3ec-03e0-11e4-81e2-e720ac8c146b.png)