Check the current directory first for data files
Add macros for generic atomic functionality
Implement RefCount as a generic atomic type
Use generic atomics in more places
Support C11 atomics
Explicitly pass the address of atomics and parameters that can be modified
Always set the active source's update method

If the source is stopped, changes its buffer, then played again quickly, the
source will never be removed from the active source list causing the update
method to remain as it was. If the buffer was changed between mono and multi-
channel, this causes it to use the wrong method.
Don't try to use internal visibility

A number of functions are passed as callbacks to external libraries, which
internal visiiblity doesn't allow.
Use pulseaudio's write callback to signal a mixer proc wakeup
Use a full memory barrier for Windows
Change Windows-based atomics for non-C99 compilers