Fixed playback issue where sounds got distorted due to a delay from the
waveOut. Also added simple reference counting to the AudioFiles, it
asserts when a user tries to delete a sound that is still used. The idea
of this framework is that the user keeps track of which audio files are
being used and which dont. Potentially a event system could be added to
this system, notifing the user when a soundfile is not used anymore. Other
fixes include correct 8 bit PCM wave file support and timetracking in ms
to make sure we can add the sound with an offset to when it was requested.