Framebuffer support

FBO support is there, but kinda useless at the moment without an ability to create surfaces and textures.
Partially addresses #50