scheduler: Update used time when thread yields or sleeps
scheduler: Improve latencies
scheduler: Add ThreadData::{GetPriority, IsIdle, IsRealTime}()
scheudler: Cache ThreadData::IsCPUBound() result
scheduler: Fix divide by zero on CPU disable