Correctly move focus from one output to a new one.
Correctly move focus from one output to a new one.

This patch aims to correctly handle moving focus <left|right|up|down>
between outputs.

For instance, if moving from one output to a new output at the left of
the current one, it should focus the right-most view/container on the
new output, and the opposite if moving from right to left. This should
happen regardless of the previously stored focus of the new output.

This also handles moving to a new output above or below the current one.

johalun/sway,sleep-walker/sway,1ace/sway,ptMuta/sway,mikkeloscar/sway,taiyu-len/sway,1ace/sway,ascent12/sway,taiyu-len/sway,taiyu-len/sway,crondog/sway,4e554c4c/sway,1ace/sway,4e554c4c/sway,crondog/sway,ascent12/sway,SirCmpwn/sway,sleep-walker/sway,mikkeloscar/sway,ascent12/sway