rm whitespace from websocket json data
Refactored & cleaned up Angular code and templates

- $scope.squares now uses server provided board json without conversion.
- Created SocketIO factory to call event callbacks with $scope.$apply.
- Removed explicit calls to $scope.$apply from crontollers.
- Created a separate controller for AI message handling/rendering.
- Split major game UI components into separate Angular directives.
- Now uses strict closures, Angular modules, and Angular dependency injection.