Expose Workspace::showingDesktop and a setter as D-Bus api
This allows us to unify the X and Wayland codepaths that currently go through window-system specific IPC. It also allows us to easily track who called "setShowingDesktop" and cancel the effect when that client disappears.