Some minor SoundSource fixes

Some minor fixes and cleanups.

SoundSource actually needs a complete re-design:
- Clear separation between audio and other metadata -> AudioSource
- Setters/getters for metadata in SoundSource do not need to be virtual
- TagLib dependencies could be removed from the header file of the base class
- SoundSourceProxy IS NOT a SoundSource, but rather a factory that creates SoundSource objects
- Clear distinction between "frames" and "samples" when reading audio data
- The code in the subclasses of SoundSource is even worse with lots of unnecessary cruft
This Todo is still not fixed. It is just the wrong place to normalize the samples here.