service: Introduce hal::BluetoothInterface

This CL introduces the bluetooth::hal::BluetoothInterface class. This is meant
to be an abstraction over the underlying bt_interface_t and bt_callbacks_t
interfaces from libhardware. BluetoothInterface is defined as an abstract
singleton that allows a fake/mock implementation to be injected for testing.

Bug: 23169364
Change-Id: Ia6f21f505dca08651b9a83e30287f638e8ec9a8e
5 files changed