Reimplement expanded desktop on top of immersive mode.

Change-Id: I8ed08afebef0bb08a2694b1dbdd6dd1887b5b065
SystemUI: fix RecentPanel position in landscape mode.

In landscape mdoe we forcing ltr layout direction. This cause
call to resolvePadding too late and discards paddings
computed by fitSystemWindows. To workaround this we can catch
onRtlPropertiesChanged and force executuin of fitSystemWindows
one more time. To fix scroll issue after padding will be setted
we calling scrollTo with correct position.

Change-Id: I0ac10ac3554142b15114ce7588b61debda27235a
SystemUI: fix recents animation in expanded mode.

Change-Id: I63b83763933468c4f1953341aad4317d142e8bb4
NavigationBar : Customization

Includes:

- Allows user to customize navigation bar.
  Features :
   - Choose from 1-6 # of buttons
   - Re-arrange / assign buttons
  Id: Idc9f5f401f15d207504e49de47666bb5510a06ca

- Navbar : Rework logic for determining orientation
  This patch introduces better checks for hybrid ui's.
  This should fix issues of small buttons due to incorrect ui determination
  Thanks Rolf Arne Schulze for testing :)
  Id: If5b61dc4764a98deedb5b801d11451fed2488cba

- Make navigation bar ready for per-user configuration.
  Also clean it up a bit.
  Id: Ic10bd161fce53bf30048a0cb927dcf1e2bfa7774

- Fix layout on N10
- Remove uncessary padding and logic
- Phone fixes
- Phone padding fixes

Change-Id: I8903b85b6ee8581f8564d9dc7b0d40f645d7647a
merge CyanogenMod

Change-Id: I4538bd4cb3e48d99be87be0f0f77cf50e7cec6a1