Changed audio streams to use iterators

Changed AudioSystem.read to return iterator
Also added overlap capabilities