Fixed non-consecutive-row clearing bug.
Updating score now sends ScoreEvent.

In preparation for multiplayer events, ScoreEvents store ScoreTrackers
as well as references to a Player (the target).
Refactored BoardController.

Refactored some of BoardController into BoardPageController for
readability and potential reuse of the BoardController class for
controlling a board on a generic canvas.
Refactored Board related classes.

More loosely coupled BoardController and BoardPage so that
BoardController may potentially be reused to control the display of
opponenets boards.
Refactored BoardController and BoardModel classes.

Moved private fields of BoardController that were storing board state
into BoardModel, so that the board model will contain all info necessary
to recreate the state of a game.
Added remote user row adding to game.

When a player1 scores lines in tetris, that same number of lines (but
with one random square missing) will be added to the bottom of player2's
board, where player2 is whomever player1 has highlighted at the time of
scoring.