Alok's weird sliding puzzle (hard)

Goal: use the arrow keys (TODO: buttons + touch gestures) to move the tiles and reorder them from 1 to 16. Tiles can only be moved in pairs of colums or rows.