gnome-xkb-info: Fix adding layouts to language and country tables
Layout->xkb_name isn't unique so we can't use it as a key in the hash
table. Layout->id is the unique identifier that we should be using,
otherwise some layouts would never get added.
idle-monitor: Check if a monitor exists before creating a proxy for it
The fact that we know about a given device doesn't mean that mutter
also knows about it nor that it has created an idle monitor object on
the bus for it.
To fix this race, instead of immediately trying to create a proxy for
the bus object, we instantiate an object manager and ask it whether
the object we want already exists and if it doesn't we wait
(indefinitely) until it shows up.