Keyboard control

The arrow keys now move around the cursor. The cursor moves nicely,
cleaning up after itself as it draws. Had to significantly change the
drawing code of the gameboard to get it working. The gameboard now draws
to a clean surface which is blitted to the screen once and only once.

Need to clean up some debug code and figure out how to get keyboard
repeat working.