Refactor to support long delimiters that are split between chunks.

Uses two different classes now to maintain performance for single
character delimiters, which don't have to worry about splitting
between chunks.