sweep2wake: redesign wakelocks

Only wakelock if necessary and release the wakelock immediately if not.
sweep2wake: allow the touchscreen irq to wake the phone
sweep2wake: remove wakelocks from the code

Since we now have a completely interrupt based wake up call
these wakelocks are obsolete so remove them.
sweep2wake: fix unresponsive touchscreen (depends on hw revision)
sweep2wake: redefine barriers for easier (un)locks
sweep2wake: add debug info
sweep2wake: fix typo, no need to enable something that is already enabled
sweep2wake: increase simulated powerkey press length
sweep2wake: Don't set suspended state if screen is not suspended
sweep2wake: add cmdline interface (on/off)
sweep2wake: reenable all suspend/resume commands if s2w_switch == false
sweep2wake: restructure ifdefs to gain readability
sweep2wake: always set suspend=1, reset baseline

If this is not set the baseline will not be reset
when the device comes from sleep, which results
in an unresponsive touchscreen. (Similiar to a
gounding issue)
sweep2wake: get button-backlight device
sweep2wake: enable dynamic button_backlight

If the screen is offline and you touch the home button (aka start a
sweep2unlock) the capacitive buttons will light up to guide your path.
They will be shutdown again as soon as you lift your finger.
sweep2wake: fix unlock start position
sweep2wake: Only reset the baseline if the screen is suspended, fix for old touchcontroller hwrev
sweep2wake: on resume suspend our touch controller for a short while
This allows resume to wake it up the right way a bit further down.
This is a HW revision fix, it is not needed for all touch controllers!

Sadly this breaks the sweep2unlock gesture.
sweep2wake: revert resetting the baseline
sweep2wake: button_backlight: fix backlight staying on