Remote control display API and implementation

Extend the media button event registration AudioManager API to
 enable applications to register as a client of "remote controls"
 and let them provide information meant to be displayed
 by the remotes.
AudioService sends a AudioManager.REMOTE_CONTROL_CLIENT_CHANGED
 intent to let remote controls know when / from whom they can
 retrieve the information to display.
Only application that own audio focus, are the currently
 registered media button event receiver, and have registered
 a remote control client, are eligible to appear on the
 remote control.

To address in future CLs:
- change how a remote control client forces a refresh
- rename methods called under lock to ___Locked()
- make API public

Change-Id: Icca30ab05dac2605ee9246f8acb27a03dcea077a
5 files changed