Abstracted away the join function in the gamerooms

- Instead of defining a "join()" function everywhere, each game only
  needs to define its own iteratee() function to define its reactions to
  input behavior.
TicTacToe game works over websockets!

* Views still needs to be updated.
* Currently, you win by clicking the middle square.
* Two players hard-coded.
* Undefined behavior on quitting.
Merge branch 'tictactoe'