Simplified the reading and writing of audio files and the interaction
between the Sample class and audio files. The AudioFile base class has
been replaced by two interfaces: AudioFileReader and AudioFileWriter.