Move some of the audio provider machinery to libaegisub

And add tests.
Add tests for the audio bitdepth conversions

And fix some bugs in it, and make it not rely on undefined behavior.
Reuse the decoding buffer in the audio converters
Add tests for the sample doubling converter and make it work correctly
Add test for channel downmixing
Add tests for floating point sample conversion
Use wxDCFontChanger correctly

Fixes the audio display timeline font changing based on what else is
being painted.
Change the default ffms audio error handling mode to ignore

Truncating the file at the first decoding error seems to cause a lot of
confusion, especially since the UI doesn't mention that it happened
anywhere.