Add constructor for OpenGLRenderer

I've come to like the constructor pattern over raw pointer creation, as
it lets me make changes later with minimal disruption.
Start new structure for an actual game

Whereas the slartibartfast directory is a bunch of prototyping and
examples, time to start building a real game with this stuff! Much of
this is copied from the prototypes but I've started pulling stuff like
Levels and the Player into their own objects.