Improve some comments about inflight guard / fix a comment typo.
Implement dict_has_key.
Hoist out the dict_* functions that don't need to be within the closure scope.
Start on PDFParser, to move the buffer / seeking logic and lexer out.
Require.JS exports.
If stream metadata length and stream length don't match, try to trim.
Requires further investigation, but either something is wrong or it is allowed
to have extra newline characters before the endstream.  For now this is an
unelegant fix with a bunch of warning messages.
Pull out most of the seeking around / lexing code to PDFLexer.
This was previously started as PDFParser, but the main parsing code is left
in PDF and now PDFLexer just handles most of seeking around the buffer and
tokenizing.
Add failing test for string literals with balanced paranthesis.
Add lexer support for balanced paranthesis in string literals.
Fix a missed consume_line() -> lexer.consume_line() change.
Really messy handling of stream EOL / stream /Length.
Move writing code out to PDFWriter and rename PDF to PDFReader.
This leaves writing code in a broken state to be revisited later.
Rewrite file format processing, trying to support updated and linearized PDFs.
Import PDF.JS's stream processing code for Deflate / Prediction, etc.
Not sure the code should be kept for the long run, but for the time being it
is a lot easier than any alternatives for handling the filters / decompression.
Some initial support for Cross-Reference Streams.
Missing EOF global from pdf.js.
Some work on decompressing ("filtering") streams.