Low latency

rt_thread_sleep is meant to be called in thread context and, if it got
interrupted, when come back, all context will be restored. So there is
no need to protect the context by disabling interrupts.

I also moved the rt_thread_suspend to the very line before rt_schedule,
because it is "running" when setting up the timers.