Version 3 of timer: Support PWM, OC, and IC

This is my version 2 (not tested).

I verified it compiles.

It still needs the pin= support added.

It has PWM and OC support (adding IC and Encoder would be striaght forward)
To save on both typing and ROM, and to make things neater, could we remove the `MODE_` part from all these constants?  There's little chance of conflict because they are already prefixed with `COUNTER_`, `PWM_`, `OC_`, `IC_`, etc, and are in `Timer`'s namespace.