RFC: New OpenGL renderer.

Time to get some more eyes onto "the new renderer".
The original intent was to make the game playable with a decent framerate on Android/iOS/... devices, but it's also a decent renderer for modern(ish) desktops.

I've tried to introduce each feature in a separate commit as to be easily checkable.

One big concern I have is the additional storage needed inside the game objects (see the ````#ifdef USE_OPENGL_SHADERS```` bits in eg. engines/grim/emi/modelemi.h).
I see two solutions:
- add a ````RendererData *```` instead, and cast in the renderers
- maintain the extra data in the renderer, using a map<???, RendererData*>.