Include FindALSA.cmake

Older versions of CMake don't seem to have it.
Avoid using assert() in createBackend
Avoid forward-declaring backend vtables
Use a RefCount for counting committed winmm buffers
Avoid using superfluous LP* types
Use a helper method to clear winmm device lists
Use a helper function to clear PulseAudio device lists
More device list cleanup cleanup
Use a vector for mmdevapi device lists
Convert the mmdevapi backend to the new backend API
Use _mm_set_ps() to set an __m128 instead of {}
Add a helper VECTOR_FOR_EACH macro
Use ALboolean for al_string_empty's return type
Use a backup in case pthread_mutex_timedlock isn't available
Iniitialize some mmdevapi backend fields in the constructor
Revert e9aee578a797c694655538cd0a00ad6c0bf6d5dc

The vector iterator needs to be the start of the Data array even if the vector
itself is NULL, or else insertion can have a negative insert position.