Use the global input delimiter instead of hard coded \n (same behavior)
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.