core, migrate from GCSfx to GCSoundEffect
Replace the single SoundEffect in GCSfx used everywhere with separate instances of GCSoundEffect.
This fixes the issue we have in Qt6 where changing the source of a SoundEffect is not reliable at all (on linux it's buggy when loading a stereo file after a mono file; on Android it's buggy when loading any file).
Should also be more efficient, as SoundEffect are meant to have their sound pre-loaded ("... which allows all the parsing and preparation to be done ahead of time, and only triggered when necessary...").