Render states

Note: not quite done but since I won't have full brainpower available until next weekend I'd like to get the review started. Please run the game and report any graphical issues.

This removes the individual depth/blend state change functions, now you'll have to fill a state description struct and request a state object from the Renderer. Before drawing you'll call renderer->setRenderState(...), or if you use drawTriangles/surfaces/pointsprites it requires you to pass a state object. There is no requirement to restore old state after drawing.
The state objects are shared, and owned by the renderer, don't delete them.

Things I could do:
- require state for all of the Draw* functions
- make old-GUI use this, worth it if it avoids problems

Bonus: removed some unused code and a couple of old-GUI classes.