Maintain timing of at least 30 vblanks per second if possible

This fixes #5947 and probably other issues of the same class (including a similar-ish issue in Tales of Phantasia X's intro), by sleeping when we have idle time.  It's not the same as lagsync, and only prevents us fast forwarding 2 or more vblanks in the blink of an eye, so long as we're not behind.

I expect someone to say I broke frameskip whether I improved it or made it worse, but testing in that area would be appreciated.  This does alter timing there.

-[Unknown]