Add a Vorbis source, lots of fallout to improve flexiblity for such cases.

Also working on fixing multichannel AO interleaving with a general
stream interleaving framework. Works in the basic case, AVX i16x2 interleave
is broken (which is the only optimized variant that exists right now).

--HG--
extra : rebase_source : 03b90f1a4c8e50ed54ca50eab51e254cbc15e3e6
extra : amend_source : def80b5b914dafb7a1fc4ba3f1961089d54e0b4d