Separate Tray and game Grid objects for different behavior
Separate finding nearest from actual movement
Check surrounding of occupied cell for empty cell
Fix game buttons broken by Tray split
Ghost tile to show future placement
Shift tiles when they're placed on the edge
Initial keypress tile entry