Handle surface activation and focus requests
Do this through the gtk-shell protocol so far, a v3 added the relevant methods:
- gtk_shell1.notify_launch, to be called on the launcher side providing an unique startup ID
- gtk_surface1.request_focus to be called on the launchee side providing the given startup ID
If there is a matching startup ID, no user interaction happened in between, etc... the related surface will get focused, otherwise just the demands-attention flag will be set.