SystemUI: Display Pie in forced immersive mode

When an app developer decides that it is needed, immersive mode can be
turned on by the app. Prior to this commit, the stock navigation bar
was always shown when it was done. This commit creates a special
immersive mode (forced immersive mode) which is enabled when an app
requests immersive mode (status bar and navigation bar can be hidden)
if the user has chosen to use Pie prior to this. This mode then makes
Pie appear instead of the stock navigation bar.

It should be noted that this also introduces a minor issue when the
user turns off the standard immersive mode as when doing so, the new
forced immersive state is enabled until the QS panel is closed/swiped
up, after which the system automatically switches over to the fully
disabled state. This is caused by the QS panel still appearing to be
immersive to the system. It can be seen on the other side of the QS
tile as it will say "Forced" for the new special immersive state and
"Disabled" for the fully disabled immersive state.

Change-Id: I7beaaa5771f97de187c506cfa2547c52f084b51f
Themes: Allow theming navbar bg color

Change-Id: I256afc30fc018ea752769029c5246bc7310c23a6
Merge "SystemUI: Display Pie in forced immersive mode" into kitkat
Merge "Themes: Allow theming navbar bg color" into kitkat
QuickSettings: Refresh RSSI tile on tap

When tapping the RSSI tile to disable mobile data, the indicator
would not show immediately because the view is not updated until
the next signal refresh.  Refreshing on tap makes more since so
that the user sees instant feedback.

Change-Id: I70d3e08e9a4af4f5d764d8c90cbaf944f4f25139
Signed-off-by: Evan Anderson <evan@thelinuxman.us>
Merge remote-tracking branch 'pa_upstream/kitkat' into legacy