Broke up the main class into two

One class for the window, one for the actual game loop. Hopefully this
is a logical distinction that will let us swap out the game for other
things like menus.

Also restructured the loop: the drawing stage has been separated from
the game logic, and is called once when initializing the game and then
at the end of the loop.
Move level handling into the game object

The game now takes a list of levels and an optional skip number, and
iterates through them on its own.

Also moved some default values into the game object.
Created an abstract screen class, and the start of a menu

Currently two screens: menu (just a white box) and game. Moved them into
a subpackage.
Functioning menu

The menu now has a couple of options, which can be selected with up/down
arrows. Hitting enter will return the id code of the option to the main
class.

Also some code cleanup with the new screen structure, which is of course
an ongoing effort.