Adds target to VertexBuffer.

This should allow a VBO knowledge to use gl functions to update and bind
itself on its own behalf. Let's get rid of that logic from the VAO.