Base: update Immersive mode

allow choosing different state of navigationbar and statusbar like expanded desktop

taken from AOSPA

https://gerrit.paranoidandroid.co/3570
https://gerrit.paranoidandroid.co/#/c/3569/

Immersive Mode
- Front: Toggles Global On/Off.
- Back: Toggles modes (Full/Nav only/Status only).

fix build
rebased
rebased
rebased
fix build
fix build
not flip if devices not support navigationbar
only collapse if FULL mode

Change-Id: I0b2821a9c725ada19f70d77855bb6d2a794ce5ca
merge changes from Omni 4.4 into local branch

Conflicts:
	core/java/android/provider/Settings.java
	core/java/com/android/internal/util/omni/DeviceUtils.java
	core/res/res/values/custom_strings.xml
	packages/SystemUI/res/values/custom_strings.xml
	packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java
	policy/src/com/android/internal/policy/impl/PhoneWindowManager.java
	services/java/com/android/server/wm/WindowManagerService.java

Change-Id: I433f4cab32b9c47c7fbb26d2d45d2e749a38ae72