SystemUI: nav bar menu keys as left and right dpad arrows

ps3: null check
ps4/5: more consistent implementation
	now properly hides on lockscreen if keyboard is
	still up. the arrow keys should also work with any
	navigation bar configuration that we support right
	now

Change-Id: Iba75e8f1b19f299a1b7ff607c33679d9788cd925
Signed-off-by: Roman Birg <romanbirg@gmail.com>

Conflicts:
	core/java/android/provider/Settings.java
	packages/SystemUI/src/com/android/systemui/statusbar/NavigationBarView.java
FW: Hiding NavBar

PS8:
New Structure for Hiding NavBar

ps9 : Fix a few derps.
ps10 : more derps/Try/catch/ etc.
ps11 : Hiding NavBar now Marginall works.
       There are a lot of things that can break this right now.
       it doesn't recover well from toggling itself on/off and
       if you 'hide/show' the NavBar, it doesn't take to that kindly
       either.  One thing the seems have an effect is to change the
       height of the NavBar.  there is something that gets reset in
       PhoneWindowManager by doing the height change that helps.

ps 12 :  Reworked some of the logic.  Added visual hints to indicate where
the swipes should occur.  Also completed landscape (phone) orientation shift
for swipe.  Made several changes in the window layout formulas in
PhoneWindowManager so that NavBar is treated like a real overlay when
in AutoHide Mode.  Otherwise, certain windows and elements were
resizing when the NavBar was shown/hidden.

ps 13:  Add images (button/drag) from NitrozK

ps14:  Start implementation of longpress on handle to launch
       NavRing.  Fix press navbar resets hide timer.

ps 15: add timeout to settings observer
       make searchlight visile on lockscreen even if navbar hide enabled.
Mike and I think there no point in wasting a swipe on the lockscreen lets
just show it all the time since its our version of lockscreen targets. Only
thing thats weird is after unlock the navbar should auto time out and its not.
It wait until you touch outside then acts as it should.

ps 16: Fix hdpi image
ps 17: switched to 9patch's from nitroz
       added options for stretching draghandle/swipe area width (on tested on
              grouper might need tweaking of values)
       added option to make draghandle.invisible (right now if invisible wont
              register clicks, needs fix)

ps 18: moved constants to demins for overlays

ps 19:  Redo some of the weight calcs.  This basically works if you
	keep weight at 100.  not working otherwise
ps 20: Abandoned Weights, now setting Width of handle based on pixel
	calc.  Fixed 'Invisible' setting on Handle.

ps 21: Add quick tile ( needs images), fix crash when phones rotate,
       swap a division for a multiplication. Come on now Mike. ;-)

ps 22: change screenheight to screen width for landscape... still need something for tabs.
ps 23: added logic for phabs and tabs landscape width, set default width to 5
ps 24: add padding to the SlidingChallengeLayout if we hide the navbar
PS 25:  Fixed NavBar staying visible after unlock.
	Fixed IME Offset in Landscape Mode.
ps 26: This *should* fix QS Tile toggle & provide an Opacity control for
	the drag handle.
ps 27: try to reset screen size on Autohide change.
ps 28: Change QS icon to match 'Hide NavBar' icon

Change-Id: Ic4ad3d9dec139ebeee2ee1e81d97ec603116f5f9

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