Close file descriptors and fix OpenAL issue

unloadSound() previously leaked file descriptors which would eventually crash the program when the number of open file descriptors reach the maximum allowed by the OS (about 1000).

OpenAL will complain about illegal operation unless sources are deleted before buffers.