Improving frame timing on non-Windows. 

Disable IdleTiming when audio is disabled.
Both loops.  It can do the usleep either way, I'm just saying it could wake early.  So for example:

while (now() < goal) {
   left = ...;
   usleep(left);
   time_update();
}

Is probably necessary.

-[Unknown]