hole is an object. moving towards all tiles being objects.
TileGrid and Tile are now classes. The hole in the TileGrid is just a pointer to a Tile!
TODO : record the moves so we can play them back. Work out the moves before applying them. At the moment, we make a move them see if we are finished.