main: Generate org.gnome.Shell proxy

This will be used across multiple plugins, so put it together with
the screensaver and session proxies.
common: Add helper function to GsdShell

Currently only one helper function is provided to interface with ShowOSD, it
takes care of creating the GVariant with all provided arguments.
media-keys: Use GsdShell proxy

All communication with the shell now goes through this object, both
for OSDs and requesting focus on the shell search entry. One notable
change is that ownership of the shell DBus name is now tracked through
GsdShell::g-name-owner.
wacom: Show OSD when remapping device to a monitor through the pad bindings

This helps having a clue of which monitor got mapped to the device, other than
waving the pen to check where the pointer ends up. Now gnome-shell is requested
to show an OSD on the monitor the device gets mapped to.

https://bugzilla.gnome.org/show_bug.cgi?id=710373