Thread::wait(): remove time parameter and always use INFINITE with WaitForSingleObject()
refactored XAudio2 back-end. It's hopefully safer and more sensible in general