Make winmm and directsound audio targets robust against unsupported formats.

It now tries to make sure the hardware can support a given format, and if it
 can't, it carries on to the next best format instead of failing completely.

--HG--
extra : rebase_source : 7b4e61c8030d1e1ce4c926bc0abc9b4d4af11dd9