Allow optional memory ordering to atomic methods

Currently only C11 atomics make use of the memory order. If not
specified, it defaults to almemory_order_seq_cst.
Only pass nano seconds to al_nssleep
Convert the winmm backend to the new backend API
Remove the GetLatency method from the old BackendFuncs
Don't modify a capture device's format

OpenAL's capture API guarantees the application gets the format requested, or
else the device will fail to open. The only valid change is that the capture
buffer can be larger than requested.
Use a vector instead of a manual dynamic array
Remove some unnecessary config options