Changed the toupper and tolower function pointer usage in Parsing to use those in the global namespace as the standard namespace ones cause compiler errors on gcc. Wrapped the error checking in the destructors of SoundEffect and SoundState in #ifndef NDEBUG because there were compiler warnings due to unused local variables on gcc.