Allow compositors to run as systemd user units
Allow compositors to run as systemd user units

When a wlroots compositor runs as a systemd user unit there is no
session associated with the compositor process. Instead we need to
attach to an active and graphical user session.

This change first looks for an available session for the process, and if
there isn't one falls back to display in the oldest available graphical
session.

This work was modeled after a similar change to mutter -
https://gitlab.gnome.org/GNOME/mutter/merge_requests/150.

ascent12/wlroots,swaywm/wlroots,swaywm/wlroots,ascent12/wlroots,SirCmpwn/wlroots