Merge pull request #2 from oahziur/master

Have requestDevice() open a dialog within the current document instead of creating a new window.

This doesn't compromise any security inside a Chrome App, since the App isn't getting any additional capabilities from the user interaction with the requestDevice() UI, and avoiding new windows plays better with Cordova.
Rename ThrowName to NamedError and add a message argument, so it's usable in reject() calls.

Also add names for a few more errors.
Create BluetoothEvent that works with webcomponentsjs