Add caching implementation of UPower.Device properties interface
Instead of retrieving each relevant property individually with a synchronous DBus call on each propertiesChanged signal from a watched device (at least 2 on a laptop, battery and AC, more when e.g. battery powered peripherals are present), fetch the properties just once during startup (with a single bulk "GetAll" query), and use the values from the propertiesChanged signal for implicit updates.
Skip creation of instances for individual Devices if the DisplayDevice is present, as the properties are not used at all.
Remove the autogenerated UPower.Device interface, as it is only able to fetch properties synchronously, one by one.