Return a sample pointer from DoFilters

This allows us to avoid copying samples when no filtering is needed. Doing the
same for resampling would require another temporary buffer in the device.
Put per-channel filter properties together
Return a sample pointer from resamplers

Both resampling and filtering now avoid copying samples when they no-op.
Add some asserts to verify block alignment for conversion
Update the active source's direct and send properties after each mix
Use the correct input for HRTF mixing
Properly process all samples with a bandpass filter
Copy samples if needed in the 'copy' resampler
Use the current buffer item for static sources too
Don't clear the current and step gain values when updating a source
The lower value of the gain vector contains the closest target value
Mark some functions as const
Use an unsigned type for the win32 size_t formatter
Don't try to use the non-standard alloca.h

Variable-length arrays are C99 standard and are preferred over alloca. The only
compiler that needs alloca (MSVC) has it in malloc.h.
Use the first non-0-length buffer when starting a source
Add a needed header for the CoreAudio backend
Include strings.h if it exists for strncasecmp
Ensure a proper amount of new elements are being reserved when inserting
AL_SOFT_block_alignment is now considered done
Rename CONST_FUNC and PRINTF_STYLE, and fix non-GNU AL_PRINT