ao/wasapi: avoid redundant passing of ao and wasapi_state as arguments

also drop some useless const declaraitons
ao/wasapi: safely define PKEY constants

Before these definitions were incorrectly guarded by and #ifdef
but since they aren't macros, this would never be true so that
if they were ever added to mingw headers we would have problems.

rename KSDATAFORMAT constants with the same mp prefix for consistency.
also use DEFINE_GUID rather than defining the bare structure
ao/wasapi: remove unused variable
ao/wasapi: expose GUID and PKEY convenience functions

Give them the prefix mp_ and make them nonstatic.
ao/wasapi: check full GUID of KSDATAFORMAT to determine float
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.