Allow top-level frames to request any USB device.

This patch changes the rules for WebUSB so that a top level frame can
request access to any USB device, while embedded frames must have an
origin matching the allowed origins structure read from the device.

Integration tests for WebUSB are added which exercise this.

BUG=492204

Review-Url: https://codereview.chromium.org/2611773004
Cr-Commit-Position: refs/heads/master@{#442105}
12 files changed