Classes now store most of their members as objects, rather than (smart)pointers - a hack that was required due to the huge global state we used to have.
Reduced global state to a minimum (the amount incurred by freeglut).