allow HWTIMER_SPEED > 1000000

If HWTIMER_SPEED is greater than 1000000, division will result in 0 in `HWTIMER_TICKS`, `HWTIMER_TICKS_TO_US`

The proper solution would probably be using floating point defines to begin with, or at least casting to float for the division, but is this guaranteed to be evaluated by the compiler? 
```c
#define HWTIMER_TICKS_TO_US(ticks) ((1000L * (ticks)) / (HWTIMER_SPEED / 1000L))
```
I guess this would yield a better precision. Just a gut feeling, not thoroughly tested.