core: hwtimer: use disable/restoreIRQ

hwtimer still uses dINT/eINT(). This PR makes it use disableIRQ/restoreIRQ instead.
I wasn't sure if it is on all platforms.

I'd say, this is an improvement, removing the if(!inISR()) can be a further optimization. Let's not mix both and see if the restoreIRQ is fine, then remove the inISR()s at a later time.