RenderState reworked for OpenGL buffers

The OpenGL Buffer Object is now the central data store and they can
currently be connected to vertex data, texture data and framebuffers.
This is done automatically when connecting resources using the
RenderState::setMesh(), RenderState::setTexture(),
RenderState::setFramebuffer(), etc. functions.

The following classes are new:

Gem
===
BufferState
VertexState
ProgramState
UniformState
TextureState
FramebufferState
Tracker