ao/wasapi: make functions return bool that were acting like it

this involved inverting the logic of find_formats, enumerate_devies
and wasapi_fill_VistaBlob. The latter two were trivial as their return
values were not actually checked (to be fixed in a later
commit).
ao/wasapi: check return values

wasapi_fill_VistaBlob failure was previously ignored,
which I'm pretty sure is bad. Only issue a warning for failure of
wasapi_enumerate_devices.
ao/wasapi: more missed cleanup on failure
ao/wasapi: more consistent/reliable method of computing extra WAVEFORMATEXTENSIBLE size
ao/wasapi: fix very remote possibility of deadlock

If we fail to find the ao or ao->priv, the thread would return
without setting the init_done event because it can't access it.  In
this case, the main thread would have waited indefinitely. So instead
wait for either the init_done or the threadLoop event to fire.