SystemUI: StayAwake Toggle

Instead of overcomplicating toggle, onLongClick simply takes the user to
Settings$DisplaySettingsActivity instead. onClick (on) sets screen timeout to
int MAX_VALUE(approx 24 days), and restores user value onClick (off).

** Icon Credit to Nitroz(Thanks a ton!)

Change-Id: Ifd2051b2a6e8235160713cad3b4385dbb6d66b8f
Signed-off-by: bmc08gt <bmc08gt.teamb00sted@gmail.com>
FX: NavRing fix longpress derp.

Change-Id: Icebb34612b65ff30e427f237780b366f94a9b24e
Signed-off-by: Stevespear426 <stephen.k.spear@gmail.com>
FW: Ribbons Padding, Click options, autohide updates 1/2

Adjustable padding
vibrate on click optional
if no short action set use long action icon and
  dont set short click listener - long press only mode...
Autohide flakiness fixed
Don't unlock on torch

Change-Id: I45c9f29453220e80249300b66bb61d5a7afc784f
Dynamic glowScale adjustment and spacing of NavBar.

This adjust the Glowscale for the NavBar buttons based on
the number of buttons on the bar.  I also added spacer
views to the outer edges of the NavBar.  This helps alleviate
conditions where the glow was cut off on outer buttons (especially
in tablet UI).  It also makes the Glow more appropriately sized
as the number of buttons increase.

There are still some cases where an excess number of buttons,
and a small navbar percentage (TabUI) is going to create some
glow cut-off conditions.  That's just going to be unavoidable when
the user tries to squeeze it down that small.

ps 2: Adding the spacers now only occurs on TabUI.  This prevents
    major changes to the look/layout of buttons on Phone/Phablet,
    but still provides glow cutoff release for tablets, as they
    were the worst effected.
ps3 : adjust the size of the separators to not squeeze navbar too much

PS4 : whitespaces

Change-Id: Ic6d9deb4ae49c87251b8b258ff0f42da46910986
Signed-off-by: Zaphod <mwilson@acesappraisal.com>
Fix Watchdog HeartbeatHandler to run on correct thread

The HeartbeatHandler for the System Server Watchdog has been running
on the wrong thread due to a race condition in initialization.  It's
designed to run on ServerThread, so that it can catch lockups in the
main looper of the System Server.  It has been running on
ActivityManagerThread instead, so it does not detect lockups on the
ServerThread as it should.

ActivityManagerService is calling Watchdog.getInstance() before
ServerThread calls Watchdog.getInstance().init(), so the handler is
being bound to the ActivityManagerThread instead of the ServerThread.

Explicitly bind HeartbeatHandler to ServerThread, so that the Watchdog
catches lockups on this critical thread.

Change-Id: Iccb184ac3adb817feb86ed4ee0e50e443bf74636