Screen Recorder: squashed: Add native java screen recorder [1/2]

This is based on the screenrecorder binary found in frameworks/av.
It has been converted to a native library with the necessary jni
hooks for interfacing withit via a ScreenRecorder java class.

Volume up + power chord is used to start and stop recording by
binding to the service found in the ScreenRecorder app:
https://github.com/ChameleonOS/android_packages_apps_ScreenRecorder

PS1:
Clean up white space.
PS2:
Fix naming convention for state field.
PS3:
Rebase
PS4:
Post mScreenRecordTimeout with 1000 millisecond delay instead
of 10000.
PS5:
Send record screen broadcast instead of using the service
directly.
PS6:
SCREEN_RECORDER_FRAMERATE should be SCREEN_RECORDER_BITRATE

Change-Id: I5b7af9b4b4f24a8c54ac0f9dcb36ace16672e2cf

Screen recorder: add ability to record audio from mic [1/2]
Change-Id: I2422a3c651e469bc9ffeb6b101f43e145dc5de85

Add global action for screen recording. [1/2]
PS4:
Send record screen broadcast instead of using the service
directly.

Change-Id: Ie6d4655b074992075df0060d23c758f2af06387e

SystemUI: Add RECORD_AUDIO permission - xplodwild
Change-Id: I5af3cbe31f182c8b5cf1633aaf8a16db2856a425

SystemUI: Add missing sound permissions for screen recording - xplodwild
Change-Id: If948aabfd5c2e09f192f12aa02830d39346d2c6c