Fix SetThreadName for 64-bit MSVC builds
Check explicitly for pthread_mutexattr_setkind_np before use
Rename SetThreadName to althrd_setname
Use the thread ID for althrd_t on Windows
Handle the lib name as UTF-8
Rename althread_once to be more C11-like
Check TlsSetValue for error
Rename AL_ONCE_INIT to AL_ONCE_FLAG_INIT
Alter the al_fopen macro to not directly take parameters
Remove unnecessary includes
Check pthread_mutex_unlock for errors
Simplify some error checking