Added a lot of documentation.

Also, rejigged a few other pieces of code.
Added simple spaceship to asteroid collisions.

Also starting to add a nice todo list.
Added a basic context manager.

This allows us to quickly switch between game 'contextes'.
For instance when the ship get's hit to display the spawn message.

Having to use the .bind method seems a bit sketchy, but works for now.
That is the question, should the view have it's own loops,
or should we have external loops that are run on a view.
Got a basic leveled game working.

Now I need to get some actual levels going that can be preconfigured and
actually end the game and stuff like that.