Das Ziel ist im Endeffekt ein komplettes deflate (gzip) in JavaScript. Sobald ich den Hoffman-Codec habe, nehme ich mir LZ77 vor.
Anscheinend haben das schon andere probiert: http://rumkin.com/tools/compression/compress_huff.php
und zip gibt's auch http://de.w3support.net/index.php?db=so&id=294297
oder hier
Struppi.