Don't create objects before they're needed.
Parse newlines as part of parsing a script header/comment/property instead of requiring script section to swallow it.
Remember the format specifier for script sections that have it. Persist the format specifier for ASS dialogues.

Required for #16
Simply logic for parsing whitespace or text nodes while parsing dialogue parts.
Fastpath for ParseNode._peek()
Minor improvements.
Use XHR's load event instead of readystatechange + readyState === DONE
Set resolution option labels even if video metadata is already loaded, and other tiny fixes.
Added explanatory comments to example.
Better clock state machine and API.
Use a checkbox to toggle subs instead of a button.
Handle unknown types gracefully in type linker.
Cleanup and typos.
Update ManualClock with new API.
yield