implement GUI mode

There's still a missing feature in the Game module: backtracking over
tiles already in the current move does not remove them.

Still to be implemented: loops