refactor Client
server can host multiple games

Server continuously accepts connections and adds them to a player pool.
If there are at least two players they are put into a game together. If
either player declines a rematch, the NetworkGameManager adds them both
back to the pool.
bugfix: client Main parameters
client exits when window is closed
update protocol

NetworkGameManager sends a start message to notify the client that a
game is starting.
update client status messages