input: lge_touch_core: Implement Double tap to wake functionality

If enabled, touchscreen is always powered and user may resume
the device with a double tap on the center of the screen.

Signed-off-by: Stratos Karafotis <stratosk@semaphore.gr>

Conflicts:
	arch/arm/configs/semaphore_mako_defconfig
	drivers/input/touchscreen/lge_touch_core.c
input: lge_touch_core: Rework double touch to wake functionality

- Refactor the code
- Reduce the delay of i2c retry to 10ms
- Use a wake lock when there is a touch to prevent kernel to suspend
- Implement the pm runtime interface

Signed-off-by: Stratos Karafotis <stratosk@semaphore.gr>

Conflicts:
	include/linux/input/lge_touch_core.h
input: lge_touch_core: Properly destroy wake lock on touch remove

Signed-off-by: Stratos Karafotis <stratosk@semaphore.gr>
input: lge_touch_core: Release all touch events when power on

Signed-off-by: Stratos Karafotis <stratosk@semaphore.gr>
input: lge_touch_core: Remove debug info

Signed-off-by: Stratos Karafotis <stratosk@semaphore.gr>
input: lge_touch_core: Reset touch screen on power on

When power on the device reset touch screen to avoid
unresponsive touch screen issues.

Signed-off-by: Stratos Karafotis <stratosk@semaphore.gr>