It may happend that a client is focused on `mouse::enter` without the
`focus` event being fired. Therefore, the next client to be focused
will not get the mouse on its top left corner because we think that
the focus comes from sloppy focus.
We circumvent this by:
1. giving sloppy focus only if we don't have focus
2. keeping track of the client getting the focus through sloppy focus
and checking it if we get the same client on focus event
We generalize "mouse follows focus" by keeping the mouse in the top
left corner of any focused window except when the window has been
focused because of sloppy focus.