Changes to FrameBuffer to make it easier to meaningfully subclass. In particular, I'd like to be able to define multiple draw buffers, and to bind the buffer for read/draw independently. This is more relevant in OpenGL 3.
Splitting out my changes to VertexBufferObject to create a parallel VertexData implementation, VertexBufferObjectWithVAO. This reduces the branching and keeps the VBO code pretty simple. Modify Mesh to create the new implementation when appropriate.