Refactoring: Make use of classes

Update Tile class, use Position objects throughout game, create canvas
and state objects