don't end test twice
use prova test framework
move browser only code into it's own file

recommendation from https://github.com/substack/browserify-handbook#browser-field
add dist command to package.json
0.3.10
0.3.11

npm publish fail
bump bower to v0.3.11
drop node 0.8 support in travis

npm install is failing
bring back 0.8 testing on travisci
sexy svg badges
add npm downloads badge
Fixes for false positive audio frames

In testing out some sample MP3s, I encountered one that would not only parse incorrectly, but it would actually break the parser so it would go into an infinite parse loop; this was because a `NaN` was being passed into `new strtok.BufferType(...)` due to invalid header values. This would cause it to continually read 0 byte buffers, thus never terminating.

This is just another case of a false positive for the frame synchronizer, which is very common. Although you cannot tell for sure when a _real_ audio frame is encountered, there are a few clues. Additionally, it's not guaranteed that the pre-synchronization frames will fall along a four-byte boundary. To improve the synchronization algorithm, I updated the following:

* Frame seeking is changed to be a byte-by-byte scan.
* Continue seeking the first frame if:
    * The MPEG version is `01` (reserved).
    * The MPEG layer is `00` (reserved).
    * The bitrate index is `1111` (bad).
    * The sampling rate frequency index is `11` (reserved).

Even after all this, my sample file failed. The matched frame appeared to be an MPEG1 layer 1 frame. Since this library will mostly be used for MP3s, I also added code to continue seeking the first frame if the frame isn't identified as an MPEG1 layer 3 frame.

After all these changes, my MP3 can be successfully parsed. I've added a test case and the mp3 to the samples directory to prove it out.