Frameworks: Toggle to disable fullscreen keyboard (1/2)

Change-Id: Id133925d659ea7e8589aec1ea3200bc6247da7cc

Conflicts:
	core/java/android/provider/Settings.java
Port "Option to control cursor in text fields using volume keys (1/2)"

This feature is moved to framework so it also works with third party keyboards.
Patch Set 3: Added missin @hide statements

Conflicts:
	core/java/android/provider/Settings.java
InputMethodService: Auto Keyboard Rotation (1/2)
Force auto-rotate when keyboard is shown.
Configurable auto-rotate sensor timeout after keyboard is hidden.

Change-Id: I56bc333e91702a9227409e35fce28567c435d16c
Frameworks: disable not supported features on third party IME keyboards (1/2)

due that keyboards need to add the WRITE_SETTINGS permission to have
2 of our features working on 4.3 third party apps can break if they
do not set it.

Check the current active input method for the permission and disable
it if the permission is not present

Change-Id: Ib45311100387e4e67778f99b7111bfc91a1eca71
Fix asset redirection service

Change-Id: I3a481404c5b700b3394ff90606cc2dc8ccd03385
Handle ime notification switcher in the right way

Change-Id: Ia2cf059d6b964e8b40832fd60192779dc42ae0a1

Plus some moar CM ime notification updates Slim picked
Build fixes