Merge from upstream.

 - Global factory registries instead of passing dependencies as
   arguments.
 - AppId verification and enforcement of eTLD+1 policy.
 - Updates to match changed Chrome HID apis
 - Adds Sonovation vid/pid
 - Smaller fixes