Render states

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.

Note, the TwoSided material property is now moved to the render state. Material is more of a shader description. For model materials, the two_sided flag is not available any more, and no stock models used it anyway. It was not actually useful because it did not flip normals for proper lighting. Duplicate and flip your faces manually instead.

Old-GUI finally uses shaders for rendering, it was easier to remove old code this way.