Ensure hwtimer_spin() won't wait for an unreachable stop counter value

Avoid a nasty race condition for timers with less than 32 significative bits.
If I remember right, `%` can be a hefty operation on certain platforms. In this special case an `if (stop > HWTIMER_MAXTICKS) { stop -= HWTIMER_MAXTICKS};` should be sufficient *and* save quite a bit of resources.
`ticks` should be trustworthy not to exceed `HWTIMER_MAXTICKS`.