First attempt at recovering from failing RepositionWindows.

The Win32 functions used to reposition windows can have negative return
values. EndDeferWindowPos returns 0 when the operation fails, after
which we now try to redo the operation in an infinite loop.
Added benchmark test to SwizzleTest.