Fixes: wrapping of delaymicrosecond for delays larger than 1 second.

I have been in contact with Gordon (about 1 year ago). He acknowledged the bug, but it seems it is not fixed yet, so I thought I send you my solution.

Here I wrap the microseconds every second and set the counter (tv_sec) to the number of seconds. Additionally I have used a dummy timespec variable to finish the nanosleep after an interrupt.

I am open to any recommendations,