Configurable timer syscall

* r0 is used as the alarm delta time
* r1 is used as the function pointer for firing the alarm
cleanup and fancify