Fix memory leaks on configuration lookup error paths
Fix incorrect short code in command line option lookup table
Add option to use breathing led patterns

Adds two new runtime configuration values
* sw breathing enable flag
* sw breathing battery level limit

These can be modified with mcetool options
  --set-sw-breathing=<enabled|disabled>
  --set-sw-breathing-limit=<0 ... 100>

The led patterns that are configured to use the fully on / fully off
blinking mode supported by the pwm led controller will oscillate
smoothly along the first half of sine wave.

For the smooth transitions to work frequent timer wakeups are needed
and the device can't be suspended. As this will increase the battery
consumption the sw breathing happens only if breathing is enabled and
battery level exceeds the limit or the device is connected to charger.

[mce] Add option to use breathing led patterns. Contributes to JB#17229
Clarify heuristics used for determining whether a pattern is breathable
Remove unneeded strcpy + snprintf
Fix typo in --help output
Pre-calculate breathable led pattern timing limits

Expanding the ranges in the conditional was not too readable.
Merge pull request #158 from spiiroin/breathing_led

Breathing led