NavigationBar : Customization

Ported from CyanogenMod

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

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

Change-Id: I8903b85b6ee8581f8564d9dc7b0d40f645d7647a

Conflicts:
	packages/SystemUI/res/layout-sw600dp/navigation_bar.xml
	packages/SystemUI/res/layout/navigation_bar.xml
	packages/SystemUI/res/values/strings.xml
	packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarView.java

remove duplicate string( in cm_strings now)

Navbar : Padding fix

Fix padding calculation

Change-Id: I5262266c99ab4779252264474e94f033304f6fe5

NavigationBar : Only inflate once

Since the navbar now has updateResources(), there is no need to reinflate
it upon a theme change.

Change-Id: Ie4753a767a1cb45eb459ee692d16067f83cc7d23

Fix NPE in NavigationBarView during bugreport

Commit "Merge Navigation Bar and Pie Controls button config (1/2)"
changed the tag field on the navigation bar buttons. This was not
reflected in NavigationBarView#dump() method, which lead to a NPE.

Also take into account that back and recents buttons may not be
present in the navigation bar.

Change-Id: Ie590608a4ad27753b673320132af7ec42d7a2ade

Navbar : Fix left over glow

Invalidate all buttons, to avoid nearby glow interference

Change-Id: I83ab05b91bd5db70390a5c9480513768864a2be7

SystemUI: Don't try to update the navbar if it doesn't exist

Fix crashes on theme change on devices with buttons

Change-Id: I117c0ae605f7caca7e0f0425b80645a985644630

Navbar: Fix MDPI & HDPI landscape layout

Before: http://i.imgur.com/89SmFbX.png
After: http://i.imgur.com/UbuAggD.png

Change-Id: I6623cb97881313886de39a67baa98f7bd4b0696a

Make navigation bar ready for per-user configuration.

Also clean it up a bit.

Change-Id: Ic10bd161fce53bf30048a0cb927dcf1e2bfa7774

Conflicts:
	packages/SystemUI/src/com/android/systemui/statusbar/NavigationButtons.java
	packages/SystemUI/src/com/android/systemui/statusbar/phone/NavbarEditor.java
	packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarView.java
	packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java
	packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyButtonView.java

update