cleaned up game() and fixed some bugs.

made a function ```bool grid.move(char);```
that checks if the input is valid and calls void fill(int).
also there was an ugly bug (it used ```Grid.Max``` instead of ```grid.localMax``` -
so 7,8,9 were impossible to enter in challenge mode and loaded games)

tried to make ```Game()``` easier to understand (put some of the things it
did in other functions etc).

ignore my previous 2 commits as they lead to some merge problems - this should be fixed now.