Use ROT engine and scheduler to handle game loop.

- I don't love this architecture -- the level is becoming a god object.
  I want to see more where the other responsibilities lie before going
  crazy with this though.