Framework : Lockscreen - Customizable shortcuts

Forward port lockscreen shortcuts

Change-Id: Ic3b935df5c0da35f31373d96943e442dc39cf11b
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
framework/base: Add EdgeGesture service.

Based on code of PieService.

Change-Id: I053737e36340a5ec6814b21eb87575f9689c7e88
PhoneWindowManager: add ability to use Pie service for system gestures.

Change-Id: Id4e2c0d82f771cd1c20e9196fb6db347494cca69
Keyguard: smooth background change.

Change-Id: Ia0e4d0000db72b5cdb6fede03791805e34fa311d
Show panels on lockscreen in expanded desktop mode.

Change-Id: Iaa2d712130707169c7a08156f8ea5afc247fc4cf
SystemUI: update internal state right after hiding transient bars.

Change-Id: Ibcdc45bbf1ce8561fae50f1e026552dbcbcc80ae
SystemUI: do not collapse panels if keyevent was canceled.

Change-Id: I9af82e9fa2305142521075938dfd05521adeb9f4