webusb: Reject the promise if the device is already open.

This change adds the necessary plumbing for the USB Mojo service
implementation to detect when a device is already open and to report
this error so that the WebUSB API can reject the promise returned by
USBDevice::open() with an InvalidStateError.

BUG=492204

Review URL: https://codereview.chromium.org/1693433003

Cr-Commit-Position: refs/heads/master@{#375003}
6 files changed