Stub out a build process
Add grunt and a gruntfile that will run jshint on files in the src and test folders. Move the single source file into the new directory.
Add qunit tests
Pull in a qunit build step and run a simple canary test.
Create perf testing page for appendBuffer
Add a simple page to test the speed of appending bytes to the SWF. Add grunt-connect to the build so to avoid security issues running Flash on a page hosted on the file protocol.
Buffer appends until the next animation frame
Collect appendBuffer operations when first requested and wait until the next animation frame to actually pass them to the SWF. After this, we can concatenate the individual appends to ensure that we don't spend too much time transmitting really tiny chunks.
Put a ceiling on the append rate and sync with animation frames
Add a setting to tune the maximum throughput of the plugin. Modify the appending algorithm so that it operates asynchronously on each animation frame and never sends more data than specified by the throughput parameter. Buffering up append operations means less CPU usage on slower machines but sending too much in one shot can lead to stuttery playback. Updated the README with info on the new setting.
Update README.md

Fix link to FLV spec.
Add an explanatory comment
The wildcard to match emacs scratch files is a little weird looking so add a comment about it.
Initialize binary string before concatenating
Concatenating a string to `undefined` yields a string prefixed with "undefined". Update the test to catch this problem if it were reintroduced. Change the scope of buffer-related variables so we don't expose properties not available on SourceBuffer.
Merge pull request #7 from videojs/feature/append-perf

Put a ceiling on the append rate and sync with animation frames