Improve perf for thread switching / callbacks

Found some games that were spending a lot of time in these funcs.  This cuts down on that considerably.

Actually, most 2D games I've tested were spending 1-8% (average of 3%) in `__KernelExecutePendingMipsCalls()`, and now they spend like 0-0.2%.

This is while fast forwarding, so may not be such a big win, but games that thread switch a lot will benefit.

-[Unknown]