Hardware key custom rebinding [1/3]

Framework changes to allow rebinding of the actions performed on the
following key press events: Home long-press, home double-tap, menu press,
menu long-press, search press, search long-press, app-switch press and
app-switch long-press.

The available actions are: Nothing, open/close menu, recent apps
switcher, search assistant, voice search, in-app search, device sleep,
and launch camera.

Change-Id: I72c0d220a09d79230bfa299e0521ed693e5c25f1
Add ability to use EdgeGestureService for system gestures.

- Default to enabled

Change-Id: Id4e2c0d82f771cd1c20e9196fb6db347494cca69
keyboard: re-add code to detect lid state and handle lights

Depends on libhardware patch for the light ids:
http://review.cyanogenmod.org/77944

This squashes the following commits from cm-11.0 and updates
them for cm-12.0:

From: Dave Daynard <nardholio@gmail.com>
Date: Tue, 19 Nov 2013 18:22:45 -0500
Subject: keyboard: re-add code to detect lid state

keyboard: re-add code to detect lid state

This was lost in the cm-11 merge. Without this, a change in lid state
isn't generated to light up the keyboard backlight

Change-Id: Ief35cebcb62da13afe1ae7531d69ab58e196be9e

From: YuanQY <yuanqingyun@gmail.com>
Date: Fri, 8 Feb 2013 10:59:22 +0800
Subject: Keyboard light: Fix the physical keyboard not light when

Keyboard light: Fix the physical keyboard not light when it's visiable.

Change-Id: I595afd3cb6b422a17ae0f6ec20aa51979db13810

From: tbalden <illespal@gmail.com>
Date: Sun, 31 Mar 2013 18:33:53 +0200
Subject: keyboard: adding functional alt/shift lights

keyboard: adding functional alt/shift lights

This is useful for devices that has QWERTY keyboard
and leds for the Alt/Shift (Fn/Caps) keys, like
htc doubleshot.

Change-Id: I66ebc2d881438f5b51db77eaa885421e65a7da0d

Conflicts:
	core/java/android/os/IPowerManager.aidl
	services/core/java/com/android/server/power/PowerManagerService.java