Redesigned audio stream classes

- fixed compile errors from previous commit
- AudioStream now supports differing formats, and changing formats at
runtime
- added constants for WAV formats
- binarystream renamed to bytestream
- features added to bytestream
- general refactoring in audio classes