Add the BrowsedPlayerWrapper

The BrowserPlayerWrapper provides a convienent interface for AVRCP to
use that handles all connections, and requests with a convienent API.
Also this patch adds a mockable MediaBrowser as well as adding the
MediaControllerFactory and MediaBrowserFactory classes in order to make
injecting test objects much easier.

Bug: 68854188
Test: runtest -c com.android.bluetooth.avrcp.BrowserPlayerWrapperTest
Change-Id: I34b5326eaf35d8db43f6a8d709f60ade4c642e88
10 files changed