Added a loading screen as well as a thread that loads resources in the background

Improved the audio manager so that it stops a sound if one is already playing

Added some locks to the audio manager to make it thread safe

Upped the warning level to 4 and compiled with warning as errors