Reduce timing inaccuracy from 44.1kHz

1,000,000 * 64 / 44,100 is not an integer, so it introduces a drift from true 44.1kHz.  Apparently, some games seem to time based on this (such as Project Diva games, it seems.)

We could track the error and etc., although it's not clear how exactly accurate the PSP itself is.

Anyway, this uses cycles instead of microseconds for the interval, reducing the error significantly.  It will still run slightly too often, but during an hour of gameplay this error should be less than 12ms.  Before, an hour of gameplay was enough for it to be off around 890ms.

-[Unknown]
you're already using auto, so why not use a ranged-for too?

    for(auto cb : mhzChangeCallbacks)
    {
        cb();
    }

or is there a platform we compile on that doesn't have it?