Last-minute feature creep

...what could go wrong?

- added "drawsteps" command, which toggles an option to print the
intermediate steps of a move
- added functionality for levels to specify the size of the board
- added "modified" field to squares to try to solve the issue of them
not being drawn by the graphical display sometimes
- added optional move limit functionality to levels
- added Level3, which makes use of the move limit and board size
features
- level now restarts if it has been completed (or failed) and is the
last level
- added simple high score feature