Add the AVRCP Target 1.6 cover art feature

This patch adds a service that maintains a set of images and a set of
BIP OBEX clients. The service provides an interface to store images and
returns handles to retrieve them at. The handles are added to AVRCP
metadata objects in the Utils helper file when converting Media objects
to objects consumable by the native stack. Handles are sent with the
metadata objects through the native stack to the remote device.
BIP client connections allow remote devices to trade those handles for
the actual images. Handles are only sent for devices with an active
BIP client.

Th feature is defaulted to off, and can be enabled through a resource
overlay, 'avrcp_target_enable_cover_art." The feature additionally
requires that you choose profile version 1.6 in settings.

Tag: #feature
Bug: 153076316
Test: atest BluetoothInstrumentationTests
Test: build, flash, interop test with controller devices that support
the feature, PTS test the feature against tests in design doc.

Change-Id: I63b35c3503cfff2c2913196b08806e499ca9412f
6 files changed