synaptics_3k: sweep2wake, stroke2wake & doubletap2wake

Includes a hack to fix in-call behavior. I made proximity
sensor to report to synaptics_3k its status so I could skip touch
handling altogether when proximity sensor status is "near".

Ported i2c_syn_read() function from endeavoru kernel to fix sleep state
problems. No retrying for i2c_transfer() lead to device not waking up
properly.

Some of the code and ideas taken from these repos/commits:
https://github.com/Mustaavalkosta/htc7x30-3.0/commit/adec359240f0d5fa72e42e5732e53a3f27269dff
https://github.com/n3ocort3x/endeavoru_3.14
https://github.com/TeaMSeven/android_kernel_htc_m7-sense
https://github.com/dorimanx/Dorimanx-SG2-I9100-Kernel/

Additional thanks to @pnoire for throwing refreshing ideas at me,
testing and listening to my cursing when nothing worked, lol.
synaptics_3k: fix compile without s2w
synaptics_3k: block sending button events while screen is off

This would wake up the device from OS side which is not desired.
synaptics_3k: previous fix killed buttons when s2w is disabled
synaptics_3k: rename sysfs entries and variables

I think the names inherited from endeavoru were
a tad bit confusing. Better now.
synaptics_3k: remove separate debug variable and hide more debug prints
synaptics_3k: turn s2w/dt2w off by default
synaptics_3k: remove syn_mutex

Maybe reintroduce it later with wider use.
synaptics_3k: fix build
synaptics: lazyfix for s2w screen off toggle bug
synaptics_3k: remove dirty in-call hack and add better fix

Now we just don't send touchscreen data forward if screen is suspended.
This should help with accidental touch interaction during calls.
synaptics_3k: fix wrong value when storing dt2w_switch

Change-Id: I3b624375d4ea876484bdfb6917bfa0fcff8a9353