Replaces the reflexive instantiation of the Renderes with a factory
method.
Some optimizations to the renderers to no longer push the whole OpenGL state to the stack.
General cleanup of duplicate code, etc
Every Block had a call to its super, passing its own class.
This can easily be simulated by calling `this.getClass()` in the super class.
Also this was basically only used as using a name.
In the future it might be advisable to not use such methods,
since they are prone to refactoring.