Keep the right aspect ratio. Also, break some C++ conventions.
Treat all renderers equally (move renderer-specific code to the renderer class)
Restore (automagic) switching between renderers
Clean up some leftover mess (still needs more cleaning though)