better focus handling on some events

- when a client is unmanaged
- when a client is iconified or deiconified
- when a client is hidden or shown
- when a client is tagged