Add support for sw based led breathing

The mce_hybris_indicator_enable_breathing() function can be used to
choose between hw assisted fully on/off blinking and timer based smooth
led brightness oscillation.

[hybris.so] Add support for sw based led breathing. Contributes to JB#17229
Clamp led pattern blinking and color values to valid range
Clarify the resons for refusing to breathe the led
Fix breathing sequence restart

Reset at maximum step instead of using costly modulo operation.
Also avoids skipping step indices at size_t wrap over and will
not divide by zero in case we end up here with with no steps.
Add led control helpers to improve readability
Merge pull request #10 from spiiroin/breathing_led

Add support for sw based led breathing