Support brace-enclosed environment variable names

This makes it possible to append alpha-numeric characters directly to an
environment variable value, e.g. ${FOO}bar will use "FOO" as the variable name
and keep the "bar" as-is, whereas $FOObar will take "FOObar" as the variable
name.
Use directories relative to current project in CheckFileOffsetBits.cmake

Enables building OpenAL Soft in a subdirectory of another project.
Use the current binary dir for shared function checks too
Use a NULL source for inactive activesources

Also only access the activesource's source field once per update.
Use an array of objects for active sources instead of pointers
Rename activesource to voice
Include the common sources when building statically
Use al_malloc/al_free for default allocators
Convert the wave writer backend to the new API
Remove a couple unnecessary typedefs
Check the given CoreAudio capture device name
Return the correct default capture device name
Check mmdevapi device ids to match the default device

Seems Windows can return different IMMDevice object pointers for the same
endpoint.
Setup the HRTF format before tracing the pre-reset format
Use al_calloc/al_free to allocate contexts and voices
Fix Neon mixer definition
Make the buffer's pack and unpack properties atomic
Use proper atomics for the thunk array
Protect alProcessUpdatesSOFT with a lock
Make the fontsound's buffer and link fields atomic