Implement condition variables for Windows
Avoid unnecessary local variables
Add methods to exchange and compare-exchange RefCount values
Add extern "C" to common headers.
Only define struct timespec if _TIMESPEC_DEFINED isn't set

This matches what the mingw-w64 headers define with the struct.
Add an ffmpeg-based example player

This example shows proper timing and A/V synchronization with an OpenAL stream.
Requires the in-progress AL_SOFTX_source_length extension to avoid manually
keeping track of the buffer queue length.
Avoid a loop when updating the source position variables