We sometimes return custom D-Bus errors. Right now those errors
are ad-hoc, which means receivers don't have a proper way of
checking whether a thrown GLib.Error corresponds to a particular
remote error.
In order to change that, we should define proper error enums and
domains, and register them with GDBus, so that there is an automatic
mapping between D-Bus errors and GLib.Errors.
The new module doesn't export any domains or enums yet, but provides
internal tooling to make these exports more convenient.
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3159>