Adds a USB detector class for ChromeOS

ChromeOS now hosts guest operating systems requiring USB access (e.g. Crostini,
ARC++).

This is a reupload of nverne's CL to prepare to support Crostini USB support
(here: https://chromium-review.googlesource.com/c/chromium/src/+/1348885 )


Bug: 899568
Change-Id: I61f78d341ac029c39d6cd82465cda0b509366be3
Reviewed-on: https://chromium-review.googlesource.com/c/1382718
Commit-Queue: Josh Pratt <jopra@chromium.org>
Reviewed-by: Dan Erat <derat@chromium.org>
Reviewed-by: Reilly Grant <reillyg@chromium.org>
Reviewed-by: Brian White <bcwhite@chromium.org>
Cr-Commit-Position: refs/heads/master@{#630673}
10 files changed