Do not activate zero length exceptional display on linger state

When exceptional display on state ends, the UIEXC_LINGER state is
always activated even if it has zero millisecond duration. This can
cause unwanted display wakeups if exceptional display on condition
was canceled because of direct user interaction (e.g. power key or
swipe gesture).

If non-positive linger time remains at the end of the exceptional
display on condition, go directly to UIEXC_NONE instead of going
through transient UIEXC_LINGER state.

[mce] Do not activate zero length exceptional display on linger state. Fixes JB#23267
Merge pull request #219 from spiiroin/zero_length_linger

Do not activate zero length exceptional display on linger state