Bug 1061124: Add Bluetooth A2DP and AVRCP notifications (under bluetooth2/), r=btian

This patch adds A2DP and AVRCP notifications and callbacks to
Gecko's Bluedroid interface. Support for AVRCP depends on the
version of the Android base system and is only available on
versions 18, 19 or later.
Bug 1061124: Implement Bluetooth A2DP notifications (under bluetooth2/), r=btian

This patch adds Bluetooth A2DP and AVRCP notifications to Gecko's
A2DP manager. The code has been taken from taken from the callback
implementations, and adapted to run on the main thread. No further
cleanups have been applied.
Bug 1061124: Use Bluetooth A2DP and AVRCP notifications (under bluetooth2/), r=btian

This patch converts Bluetooth's A2DP manager and Bluedroid interface
to use notifications instead of callbacks.
Bug 1061124: Integrate helper runnables into A2DP and AVRCP notifications (under bluetooth2/), r=btian

The helper runnables where necessary to perform certain operations on
the main thread after having received a callback from Bluedroid. The
new notification methods already run on the main thread, so the helper
runnables can be replaced by direct calls.
Bug 1061124: Cleanup BluetoothA2DPManager and related code (under bluetooth2/), r=btian

The patch removes unused callbacks and helper runnables from the
Bluedroid implementation of BluetoothA2DPManager. It also removes
the last Bluedroid-specific code from BluetoothUtils.{cpp,h}.