Use VECTOR_FIND_IF and VECTOR_FOR_EACH instead of manual loops
Create a .def file when building with MinGW

Preferably we'd tell CMake to make it itself instead of specifiying compiler-
specific flags, but there doesn't seem to be a way to.
Properly set FluidSynth's include dir for older cmake versions
Pass pointer-to-vector types as char* instead of void*

C aliasing rules only allow char* to alias an otherwise-incompatible type,
rather than void*.
Give NULL for null-vector iterators
Simplify some vector size range checks
Add an option to build an import .lib with dlltool on mingw

Also make sure the ordinals are stripped from the .def file (using sed), so
that the generated .lib will link apps to the DLL using function names instead
of ordinals.
Don't try to generate .def or .lib files when building statically
Remove a couple unnecessary HAVE_*_H header defines

The xmmintrin.h and arm_neon.h headers are always available with SSE and Neon
support, respectively.
Only support dsound and mmdevapi on Windows
Check for GCC's __get_cpuid before using it
Try the __cpuid intrinsic if GCC's __get_cpuid isn't available
Assume SSE is available if building with support and no run-time checking