Use C99 VLA instead of alloca when available
Reactivate the mmdevapi audio client and set the event handle on reset
Don't have VECTOR_INIT "return" anything
Check for ftw and _wfindfirst
Wrap fopen calls under Windows

The idea is that all filenames we deal with are encoded as UTF-8, but the
Windows functions that take a char string interpret it using the ANSI codepage.
So instead, we convert the UTF-8 string to a wchar string, and then use the
wchar functions for proper extended character filename support.
Properly handle special folder names with extended characters
Add an al_string type and use it for the device lists
Use al_string to handle mmdevapi and dsound device names
strlen returns size_t
Use an al_string for the device name
Use vectors for the dsound device lists
Don't pass the vector's capacity as a parameter to vector_reserve
Recognize NULL as an empty vector/string
Properly compare al_strings
Make HRTF stepping values per-channel
Use FIND_LIBRARY to look for the CoreAudio framework
Use C11's static_assert when available
Use an al_string vector for winmm device names

Also now gets wchar device names, to properly convert to UTF-8
Fix the default XDG_DATA_DIRS paths
Silence an MSVC warning about -1u