Refactored: Principle of Least Knowledge applied.

Moved Cell.click() to Game.click(cell)
Replaced Cell.max_chain_length with Chains.longest(cell).length
Replaced Game.get_result with a getter.
Game object now has more privacy. Public properties removed:
  is_over, update_status, get_current_player ,switch_player.
Removed unused 'Game' global.
Replaced AI.play() which picked a cell and played on it,
  with AI.pick_cell() which picks a cell and returns it.
Removed Cell constructor. Cell became a very simple type.
  There is no benefit of having a ctor anymore.
Cell owners X&O are stored in lowercase, displayed in uppercase.
Named ng-app as TicTacToe.
Renamed GameCtrl to TicTacToeCtrl.
Added 'highlight' directive.
  Html code for inner row highlighting is now simpler.