fb: add back all keyboard IME features back (1/2)

this commit adds:

- ime switcher notification - thanks cm
- fullscreen disable on landscape
- force autorotation on IME
- volume button control for navigate in the message - thanks cm
- force to show always enter key

some fixes to the 4.2/4.3 implementations + added full multiuser
support for all this features
Irda: Add Irda System Service

This is not a perfect solution yet, but it does work and should therefore be a starting point.
It needs work to be functional on devices other than the Galaxy S4

* The Irda service is not started by default. It can be enabled via overlay.
* Uses a HAL module to communicate with sysfs

Change-Id: If0c4b2e59144b1f199c44add399a3f528ac11e5b

Conflicts:
	core/java/android/app/ContextImpl.java
	core/res/res/values/config.xml
	services/java/com/android/server/SystemServer.java

Conflicts:
	core/java/android/app/ContextImpl.java

Conflicts:
	core/java/android/app/ContextImpl.java
	core/res/res/values/config.xml
	services/java/com/android/server/SystemServer.java
	services/jni/onload.cpp
Status bar brightness control

+ added some fixes to original implementation (thanks mostly cm for that)
+ add multiuser support
Framework: safe headset volume option (1 of 2)

thanks DvTonder

Change-Id: I5355820a24d48c1d8f54ea17a7022d891ad07857
[1/2] base: volume panel styles and tweaks

From CM - Support different styles of the volume dialog
allows expanding the dialog to show all adjustable volumes

New setting MODE_VOLUME_OVERLAY defines the style
0 = unchanged - single slider
1 = expandable - button beside to slider to expand - this is the default
2 = expanded - open already expanded

This also adds using setting VOLUME_LINK_NOTIFICATION
to allow adjusting the separation of notification and ringer volumes
default=1

This also already adds the new setting
VOLUME_ADJUST_SOUNDS_ENABLED default=1
to allow disabling the volume adjust sound

fixed some minor code style issues

- add all values multi user configurable

Change-Id: I94e0f944f76ee9751663de8ac40d99a342884259
fb: volume rocker controll (wake up and volume) thanks to

CM and omni for the proxy sensor idea

Conflicts:
Re-add auto brightness configuration UI (1/2)

- Add a button into the new brightness dialog that allows opening the
  auto brightness setup
- Enable auto-brightness adjustment (setting for general brighter/darker
  adjustment) and twilight adjustment

- this commit adds as well the complete auto brightness ehancements we had
  on 4.3

Change-Id: I7fd11ddaa112396dcb7508692aacb93bfe3da256

Conflicts:
	services/java/com/android/server/power/DisplayPowerRequest.java
	services/java/com/android/server/power/PowerManagerService.java
Frameworks: Advanced low battery indicator options (1/2)

Based on a idea I saw on Liquid and from CR3C0 (thanks guys) which we
modified to an extended version

This commit introduces following new SlimBean modes to indicate low battery

     * 0 = show dialog + play sound (default)
     * 1 = fire notification + play sound
     * 2 = show dialog only
     * 3 = fire notification only
     * 4 = play sound only
     * 5 = none

Due that notification is a unique SlimBean feature some words on it. Notification
behaviour is the same as Pop-up. User can dismiss it manually or it is
dismissed automatically if charger is connected, click on notification opens
PowerUsageSummary. Also you get a status bar ticker message about the notification
and notification is always on first place of list. And last if vibration is enabled
notification vibrates.

Patchsets:
 - codestyle corrections

Patchst
 - add PowerUsageSummary intent

cheers

Change-Id: I84476626b0ff5424454a1132ea4ef77a696070c1

Conflicts:
	core/java/android/provider/Settings.java
	packages/SystemUI/src/com/android/systemui/power/PowerUI.java
fb: add Battery Styles the new way 1/2

google draws now the battery icon which fits perfectly into our
concept. Beside that the batteryview is as well used on QS.
So we readd our battery icons (icon, percentage, icon with percentage
circle, circle perc, dot circle, dot circle perc) back and all are
drawn. As well the icon does not only change on statusbar as well
on QS it is reflected.

As usual color options are present for the User to style the icon

Change-Id: Iae9021af56a21b8d39efc5162186eb17ecc933e2

Conflicts:
	packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java