Wasapi formats fix2

Closes  #1300

Changes from that PR
* Just keep using WAVEFORMATEXTENSIBLE in ao->priv, drop the commit making it a union. The 
 waveformat_copy function made it just as unnecessary as the WAVEFMT union, (which is also still removed)
* Enforce > 16 bits
* Drop the af_fmt_is_signed/unsigned business. It wasn't necessary. Just always set WAVEFORMAT and ao->format to something signed. Ignore signedness of incoming ao->format and try the singed equivalent.
* return truth value of mp_GUID_compare direclty in waveformat_is_float as suggested
* work with full formats (AF_FORMAT_FLOAT, AF_FORMAT_S32) in set_ao_format and change their bits as necessary
* add a commit that makew set_ao_format no longer assume it will always get a WAVEFORMATEXTENSIBLE (which it might not if using a closestMatch form IsFormatSupported)
* minor simplifications, cosmetics and formatting changes