Don't save/restore VFPU regs for threads that don't use them

I can't find any games this breaks, and it should help idle0/idle1 switching especially.  Cut off 0.4% on a profile... not much but not nothing.

Also includes another optimization to `__KernelNextThread()` which was push/popping a value unnecessarily sometimes.  Also skips calling `__KernelSwitchContext()` at all if it's the same thread (which does sometimes happen), but doesn't save much time - maybe 0.2%.

-[Unknown]