This includes some fixes for obvious mistakes as well as initial cleanup of the WM async reader, in preparation for implementing proper threading support.
I'm planning on doing some more refactoring first, ultimately implementing the async reader on top of the sync reader, and removing the need for a private interface. I've checked that it can indeed work on Windows too, and it'll make the code simpler overall.
-- v2: winegstreamer: Query IWMReaderCallbackAdvanced interface in Open. winegstreamer: Avoid waiting for callback thread on allocation failure. winegstreamer: Release callback and context in async_reader_close. winegstreamer: Move open_stream / close_stream helpers around. winegstreamer: Leave async reader callback_cs on calloc error. winegstreamer: Leave WM reader CS on invalid output format. winegstreamer: Avoid leaking async ops on release or multiple close. winegstreamer: Rename async reader stream_thread to callback_thread.