Large code restructure (READ THIS).

* GameEngine - handles game board elements and non-board UI
* Board - contains board elements and displays self
* Player - container player hand, player attributes, and personal board
elements for quick reference in board
* AIEngine [to be created later] - called by GameState and receives
Board and Player to determine best courses of action