Mixed commit, I am a terrible human being

- Added the notion of a Panel, which contains some stuff that needs to
  be renderered. Will expand on that later.

- Made the game not use up a full core by properly sleeping in the
  IO.run() main loop.