Cleanup the framebuffer class
The original mergeing of the two old framebuffer classes was a bit of a mess. This pass cleans up most of that. The biggest change is that color and depth buffers are no longer added with a mode argument. Instead they are just added to the framebuffer. Their use entirely depends on how the framebuffer is bound (draw or read). This matches what OpenGL does and greatly simplifies the class.
Showing with 285 additions and 572 deletions