layer: change focus better on 'none' keyboard-interactivity request
...and on unmap.
Add `try_to_focus_next_layer_or_toplevel()` which does the following
(in order of precedence):
- Give focus to last added overlay/top layer-shell client with exclusive
interactivity on the output nearest the pointer (normally the one where
the users is currently working). The reason for not considering clients
on all outputs is that giving focus to a client on another output may be
confusing to the user.
- Give focus to topmost toplevel if one exists (this was done previously
anyway).