added WavReader FirstSampleOffset() uint32
now taking wavOutput (with io.Closer) to close the underlying file ourselves after correcting the header
return correct writer so that it's close is called