Audio file factory

The audio_file_factory class has one static method that returns a
std::unique_ptr<audio> that points to a wav_file, ogg_file or
opus file depending on the extension of the provided filename.