Manage idle monitors via MetaIdleManager
From the main commit:
This object takes over the functionality of meta-idle-monitor-dbus.c, meta-idle-monitor.c and meta-backend.c, all related to higher level management of idle watches etc.
The idle D-Bus API is changed to be initialized by the backend instead of MetaDisplay, as it's more of a backend functionality than what MetaDisplay usually deals with.
It also takes over the work of implementing "core" idle monitors. The singleton API is replaced with thin wrapper functions on the backend.