abstract cli<->game interaction

to allow adding additional proxies, e.g. cli<->game over REST instead of
an immediate game intance.

depends on Game#to_hash, that brad's currently writing
get correct name in Player.from_hash