Initial rewrite of opengl renderer.

Screens are now textured onto quads. OS X joins the party.
When rendering for pica is done using gl, this can be updated to expose a FBO, and then that FBO's texture can be applied to the quads.
1. coding style, should be `xfb_data_flipped`.
2. Maybe personal preference, but it seems more natural to call this `flipped_xfb_data`. When looking over the source, `xfbDataFlipped` (being used as a parameter for `FlipFramebuffer`) gave away the impression this was some boolean which specifies whether to flip the framebuffer or not.