bluetooth: Use WebBluetoothDeviceId instead of string

This adds more type safety to our current code and also allows us check the format
of the string that we get from the renderer.

Also moves the chromium variant bindings generation out of blink.gyp and into
content_common_mojo_bindings.gyp. This avoids adding a dependency to content/common
in blink.gyp since now the chromium bindings depend on
content/common/bluetooth/web_bluetooth_device_id

CQ_INCLUDE_TRYJOBS=master.tryserver.chromium.mac:mac_chromium_gyp_rel,master.tryserver.chromium.mac:mac_chromium_gyp_dbg

BUG=577962

Review-Url: https://codereview.chromium.org/2019853002
Cr-Commit-Position: refs/heads/master@{#405806}
25 files changed