App server; tweak game logic for web-based play; session restoration

* Add a node.js-based app server that uses the same client-side logic.
* Tweak the game logic to support multiple users on different
  instances by generating and passing specific session keys
* Add rooms and session restoration based on the app server to restore
  mid-play games and allow game sharability.