Support for restarting the game.

Some refactoring has been done.
Instead of SUDOKU.runInCanvas(), there is a SUDOKU.SudokuRunner class.
It in turn has the runInCanvas() method, as well as a restart() method
that calls Board.restart(). The SudokuRunner class uses an internal
helper class, CanvasRunner, for running the game in a canvas.