Add CTL_BUTTON_CLEAR control message for generic keyboard to clear text.
droid: refactor JNI into a manager class
droid: re-add BroadcastReceiver
droid: rename JNI files to JNIManager
droid: give the JNIManager our activity instance
droid: Only load libxbmc.so from the first loaded java class
Merge pull request #2242 from ulion/add_clear_ctlmsg_for_generic_keyboard

Add CTL_BUTTON_CLEAR control message for generic keyboard to clear text.
CJSONVariantWriter: fix possible NULL pointer dereferencing
use max frames per slice suggested by apple for play audio after lock screen on ios
adjust audio engine can auto-resume from suspend state for ios.
add UnPause and real Pause method on ApplicationMessenger
change to use PRINT_SIGNATURE() for object-c common method trace, add debug log for important methods
add background mode/flag in the main Application and used in ios
accept control from ios control bar (on lock screen and left of multi-task bar)
support show nowPlaying item info on ios lock screen and media control bar
handle ios interruption and app active/inactive/bg switch perperly.

also suspend audio engine when needed, which affect the status of
play-pause button on ios media control bar.
disable ios network auto-suspend after lock and screen goes dark
Allow CRingBuffer::WriteData() to receive const buffers
Add codec, bitrate and channels to the "audiostreams" result of Player.GetProperties.
This makes Player.Audio.Stream and Player.Audio.Stream.Extended equal. Therefore Player.Audio.Stream.Extended is dropped.
Merge pull request #2224 from ace20022/jsonrpc

[json-rpc] Add the possibility to query more info from any audio stream.