Finished I/O changes for OSX, iOS

I had left some work undone on recording for OSX, so I reworked this
class to function correctly in rec, play, and rec/play modes under both
OSX and iOS.