Any call to DBUS is async, but our current idle service abstraction expects all calls to be sync. As changing the API would affect quite a lot of callers, we can get away by spinning the event loop and having a timeout for DBUS only. If the DBUS proxy cannot be created during probe, we fall back to IDLE_SERVICE_XSCREENSAVER as before. Once probed successfully, poll errors are transient and do not trigger a fallback. Differential Revision: https://phabricator.services.mozilla.com/D281221