settings: Squashed commit of CMHW features

Add hardware tunables (gamma, color, vibration strength).

Change-Id: I44e3e4e6cb444498a7c56048618cd92a0e2b8e59

Settings: restore hardware tunable values on boot

Change-Id: I9d2720947d615cab6a7ab9b596b24b8033dd0b4f

Settings: Add default value for display color control (2/2)

Change-Id: I50b684abe504c21ef49492f99b18873d75509697

settings: Move headset option, hide MoreDeviceSettings if empty

 * This option fits much better in the sound menu under "automation
   and effects", and on many devices it's the only option in the
   "More..." menu under Tap & Pay.
 * Move it, and remove the MoreDeviceSettings top-level category if
   there's nothing else in it.

Change-Id: Idd82f582a1ba54f8b45fbd4fbe631057e9515f86

Remove 'More device settings' menu

Change-Id: I86cd84f6f6c408b26c04d92529e9a031c4fed1f7

DisplayColor: Properly handle a minValue

* Previously setting anything as a minValue would cause the
  percentages to get out of whack. For instance, setting it to 35
  would cause the maximum percentage to climb above 100% as well
  as still allowing the value to be set lower than the min.
* This makes the maximum for the slider the max value minus the min
  (so we get the proper spread for min to max) and then adds the min
  back on before setting so we can't possibly go below the min.

Change-Id: I8dcdc422f54847940351fae10c74af6301d1e1be

Settings: AdaptiveBacklight support

Add support for adaptive backlight technologies like NVIDIA SmartDimmer, QCOM CABL or Samsung CABC.

Patchset 2: Use internal shared prefs to store the smardimmer setting
Patchset 3: Rename to AdaptiveBacklight
Patchset 4: Reorganize settings and strings to follow design guidelines
Patchset 5: CleanUp
Patchset 6: Added suggestions
Patchset 7: Sync default value. CleanUp.

Depends	on http://review.cyanogenmod.org/#/c/48465/

Change-Id: I52cb990f36593b265a00b46a5f63590515822ea5

settings: Add support for SRE

 * Add support for sunlight readability enhancement
 * Optionally depends on adaptive backlight, depending on HAL

Change-Id: I9ca388ffd68080f0e497edb81d5f8616c194ea1d

Cleanup.

Now that button and keyboard backlight don't use the HW framework
anymore, there's no point in having an abstraction for a single use case.

Change-Id: Ib66b2a29a105d53e3ba4273abb06977b132c1fc8