window: Fix focus updates
This partially undoes changes from 3dbf5038.
That commit did two things:
- Move the focus update to after-paint time
- Change from grabbing focus to the visible parent to calling move_focus (TAB)
The second part did have the unintended consequence of moving focus laterally.
Fixes: #4903 (closed)