Handle SwapItems request, still not perfect because items are (visually) duplicated if swapped into an empty space