autotests: Add more test cases in OutputChangesTest
It adds more test cases in OutputChangesTest, particularly swapping outputs.
Swapping outputs is an interesting case because outputs can temporarily overlap so workspace()->outputAt() can return wrong output and the window is going to stick to wrong output.