Add Timer support (PWM, OC, IC) for stmhal and teensy
stmhal: Add pulse_width_ratio to timer channel object.

This allows to set the pulse width (for PWM mode) as a ratio relative to
the period of the timer.  Eg, 0.5 is a 50% duty cycle.  You can set the
ratio in the channel init, or using channel.pulse_width_ratio; the
latter can also read the pulse width as a ratio.
Merge branch 'dhylands-timer-pwm2'