[mce] Better LED pattern management

LED patterns usually used to indicate that something happened while
the user was away from the device, so we can't simply blink the pattern
once for 100ms like it is done now.

We use two indicators of user activity to detect when the LED pattern
should be cleared:

 - When the display goes on and it wasn't because of the event that
   requested the pattern (FIXME: imperfect timeout heuristic)
 - When MCE reports user activity

Between these two there is assumed to be no gap or alternatively a screen
where the user can see what was the indication about, thus acknowledging
the LED pattern for clearing.

If the pattern is requested when the device is active, it is assumed that
it is ok to leave the pattern on until the next cycle of inactivity or
display state happens. In other words, application developers: don't request
LED patterns for missed events if the device is active.

Signed-off-by: Kalle Vahlman <kalle.vahlman@movial.com>
Merge pull request #31 from kvahlman/led-pattern-management

plugins/mce: Better LED pattern management