(Inspired by https://github.com/yyjhao/html5-hearts)
Wiki: https://en.wikipedia.org/wiki/Hearts_(card_game)
* Using Redux-Saga to easily handle side effects like websocket.
* Three mode:
---- Play mode: user can using this app to play with other client.
---- Watch mode: user can watch current playing game.
---- Replay mode: user can replay game history by JSON log.
* Because of immutable data structure, it allow players to undo/redo game history whenever you want!