Add MainWindow#mouse_position method
Emit a mouse_move event whenever the mouse moves
Emit tile_drag when tile is moved not when drag starts.

Have cell listen for this event itself so it can do its own highlighting
instead of Grid getting involved.
Have Tiles listen for mouse_down directly