decoder: Do not miss a few samples; Fixes #12

The decoder keeps it's current byte count in the data chunk (i.e. how much data
has been read). Previously we advanced this number regardless of whether or not
we had found the data chunk yet (i.e. just reading RIFF information, not audio
samples).

Neatly, this also has all of our decoder tests reading in exactly 90524 samples
compared to the previously incorrect mixed number. The number of samples is not
exactly 44100*2 (1 second of 44100hz 2 channel audio) because the testdata
itself is not precise.