Try to better respect snapped outputs on a resize or a rotation
The intent here is to impact the position of screens around a given screen when its size changes. This way we avoid weird overlaps or gaps on resize with the screens snapped to a given one.
Note that even though it'll fully respect snapping in one direction, it won't respect snapping between other screens in different directions. This would require a full fledged layout engine which would be complicated to grow in the current model.
Since it's also a less common case, I chose to ignore it. Let's make it work for the 80% of the cases which are generally in one direction only.