Bring over DeviceMonitor changes from calibot - Fixes & improvements by hojae - Refactor to use hidapi (was hid before) - on_new_headset accepts more params - Track previous devices using path instead of the whole device dict