[Ozone-Drm] Process display hotplug events sequentially
If add,remove or add,add (scanning for devices) events are delivered
fast enough, the remove/add event would be processed before the first
add event. In the first case the state would be incorrect while in the
second case it would cause the device to be opened multiple times
(causing permission errors in one of the events). To avoid this, use a
sequenced worker pool to properly order events. The device path is used
to group events for the same device.
This CL also keeps track of the active devices such that we can ignore
duplicate events (possible due to device scanning) and reduce the number
of display configurations performed.
BUG=477792,476728
Review URL: https://codereview.chromium.org/
1072193008
Cr-Commit-Position: refs/heads/master@{#327321}