Add adaptive Huffman de/compressor, using Vitter algorithm.
Test suite for the 3 different compressors defined (so far).
Add LZP3-ish compression.

Unlike Bloom's canonical LZP3, we use an adaptive huffman code instead of
a static huffman code for literals and match lengths.  Some other minor
details may also differ, since I'm working from the description in
http://www.cbloom.com/papers/lzp.pdf not from actual LZP3 source code.
Improve LZP3-ish: order-1 literal model, quicker adaptation.
Improve LZP3-ish: code "match length same as before" specially.

I tried using delta coding for match lengths, like described by Charles
Bloom for LZP4; didn't seem to help more than just recognizing the
"same as before" special case.
Factor out context-0 model from Lzjb.js.
Range encoder variant of LZP3-ish. (Sorta like LZP4.)
Add simple self-test to EscModel.
Implement Charles Bloom's fast deferred-sum probability model.
First draft of DMC de/compressor.  This is a simple order-1 model.

We need to add splitting (and merging) before this gets interesting.
Add assertions to DummyRangeCoder to catch bugs caused by 'impossible' symbols.

The total probability of the symbol in question can never be zero!
Allow use of Deferred-Sum model in Lzp3 compressor.

A quick test showed that the deferred sum model is actually slower than the
move-to-front model we were previously using.  Hmph.
Add state cloning to DMC implementation.