Updating CFF to little-endian and optimizing the event generators.
Previously event data was in big-endian format and written by the
wtf.io.Buffer type, back when there was interest in supporting browsers
without typed arrays. This commit changes everything to use mapped typed
arrays that result in less code, less runtime generated code (that's faster
by sometimes *a lot*, especially when writing arrays), and generally clean
things up. Events can consume more memory, as now all arguments must be
4b aligned, however 99% of arguments are strings or ints, so that's ok.

The legacy big-endian format is still supported for reading, but code to
write it has been removed.

This also adds a fix for blobs no longer working reliably when passed
between parent/popup and some error message cleanup.
Merge pull request #351 from google/new_buffer

Updating CFF to little-endian and optimizing the event generators.
Fixing some errors in replay and bringing it in line with CFF.
Fixing all of the errors introduced by the updated jscompiler.
Now warning/error free!
Let the event emitter just listen once.
Adding basic event byte and round-trip tests.
Merge pull request #354 from google/listenOnce

Added listenOnce to the event emitter.
Added playback and relevant tests.
.