Refactored NumberSquare into Tile
Rewrote whole drawing logic to a separate class to improve maintainability
Fixed highlighting adjacent tiles bug
Implemented main game rule