Large restructuring of how the game playing thread works. It now uses
something like a command pattern where the stages of playing a game are
implementations of a common GameAction class, with a single method that
takes the Game variable as a parameter, to 'do the work' assocated with
it.
Added shuffling to the game state. Not sure if it works past the first
time, but it does at least once....