This is a big update.

First, I made the game-state an atom. I don't like that I have shared state but
it's well contained and small. This makes changing the player's state much
easier.

Next, I added an interface for updateing a list of players. This makes the
interface to syncing actions on players much cleaner.

Last, I got the game loop to run. I'm sure there will be bugs that shake out as
I add more actions by the players.