create an abstract swap positions method
perform reverse swap
non-swappable tiles are subclassed from hot tile, use subclasses to stop touch to non-swappable tiles
remove unnecessary _canSwap bool
deselect tiles when touching an immovable tile