When a virtual hidraw node is being tested while the real one is tested,
this causes the devices to misidentify reports. This solves that by
making the device monitor synchronous.
Some devices throw an hidpp20::Error InvalidFeatureIndex when Root
GetFeature is called with some features (e.g. 0x1b04) as the parameter.
Since Root is a required feature in the HID++ 2.0 protocol, this error
can safely be ignored and treated as an UnsupportedFeature.
Fixes bug in #20 where the Logitech PRO headset would not work.
Many changes were made here but that was the biggest one.
There's currently a bug where std::system_error: Broken pipe is thrown
after launching the daemon with a receiver connector.
A workaround for this bug is to simply shake the mouse while starting
the daemon. I will investigate this soon.