Bug 1090799 - make nfc_handover reuse system bluetooth adapter

* fix jshint of system/js/bluetooth
* add annotation of system/js/bluetooth public API

* make nfc_handover reuse system bluetooth adapter
* use 'bluetooth-adapter-added'/'bluetooth-disabled' system event to maintain bluetoothIsEnabled stat
* use bluetooth enable/disable to set settings value so we could decouple `bluetooth.enable` setting
* fix unit tests

Shall we `bind(this)` here? Or use `self` to make them consistent. (I would like `this` for than `self`. XD)