generalized ColumnSplitter interface to handle text with embedded newlines