perf: Per-app performance profiles

 * Performance Profiles is going to grow into a much more powerful
   feature which can apply advanced optimizations or power saving
   techniques depending on both the state of the hardware as well
   as the current applications in use.
 * Refactor the original code and move it into PowerManager so
   that it's managed from the same place.
 * Implement "automatic performance profiles". This feature will
   automatically select a profile when specific activities are
   running. Currently this list is static and engages performance
   mode for several benchmarks (trollface).
 * Added support for a new power hint, POWER_HINT_SET_PROFILE.
   Currently, these profiles are fired using a property trigger
   in init. This is easy, but the PowerHAL can do more.
 * Moved the setting to Settings.Secure and also wrapped calls
   to the service in the DEVICE_POWER permission. Nobody should
   mess with this stuff except the system.
 * Powersave profile will automatically activate Android's built-in
   low power mode.
 * Original patch by Jorge Ruesga

TODO:
 * Implement API for per-app configuration by user
 * Quicksettings tile

Change-Id: I140ebc0648c4cf05900e005923247c3180be8c93

Conflicts:
	core/java/android/os/IPowerManager.aidl
	core/res/res/values/cm_arrays.xml
	core/res/res/values/cm_strings.xml
	core/res/res/values/config.xml
	services/core/java/com/android/server/am/ActivityStackSupervisor.java
	services/core/java/com/android/server/power/PowerManagerService.java
NavigationBarHeight using seekbar
author @David96

Change-Id: I3599ce6c6dbeeae8ca7794eb07e36c9dda058d39
Missing from cherry-pick

Change-Id: Ibdf079f3a9a77e1432daff101f0105214e912b29