Detect whether overflow button should be shown based on menu key state

Some devices may have hardware keys but not contain a hardware menu key.
Hardware keys are also able to remapped. The overflow button detection logic
currently does not take that into account. This change allows detects
whether any key is capable of emitting the MENU_ACTION keystroke in
order to determine whether the overflow button should be shown or not.

Change-Id: I8699bd0242560314f8eadc54b187c69c992cf875
Reduce number of binder calls by saving nav bar state

Change-Id: I3729d05a34a661cb74e998c40b61c615cdbf83a6
PrivacyGuard: New icons close to AOSP style
Halo: Avoid showing Halo))) icons in status bar while added to Halo (Credits @Anu6is)
Kill floating activities running in the same thread when tapping outside
This change makes all activities from the same app to be finished when we tap outside the halo window. Other apps running in different threads
(floating or not) won't be finished.

Change-Id: I3c51eafdcee7032fa90876411da3ff1eae0106c3