A lot of improvements.

- ICR1 as capture counter for pulse width measurements
- Timer0 as timeout counter
- Timer2 as ASYNC long interval interrupt source
- Debug output for pulse width
- Macros for I/O