Complete overhaul of the button led logic v2

With this change there is support for three different input methods:
- via exported function touchkey_pressed (for touchkey presses)
- via sysfs button (for liblights buttons)
- via sysfs pattern (for liblights notifications)

Each of these input methods is handled independently.
The newest input always wins independent of the input method, besides
switching-off. In that case only the previous switch-on of the
same input method is affected.

Let's illustrate that on an example:

touchkey on     -> all leds on
led_pattern on  -> pattern is active
touchkey off    -> pattern stays active
led_button on   -> all leds on
led_button off  -> pattern is activated again
led_pattern off -> leds off

Furthermore you can now adjust the brightness for the leds via:
- button_brightness (for touchkey_pressend and sysfs button)
- pattern_brightness (maximum brightness for sysfs pattern)

Change-Id: I1e49d92c6a792c20fcd0479bb1194a4433f35a9e