Fix parameter type error in vertex_buffer
Turn Target into a Trait and add FrameBuffer struct
Texture2D::draw() now returns a TextureSurface
All Surface implementations now redirect calls to framebuffer
clear_* functions now bind the correct framebuffer
Implement initialize_fbo
Move FrameBufferObject and RenderBuffer to framebuffer module
TextureImplementation's destructor now cleans up the FBOs