Parse a string of characters between an open character
and a close character, including text between balanced
pairs of open and close, which must be different. For example,
charsInBalanced '(' ')' will parse (hello (there))
and return hello (there). Stop if a blank line is
encountered.

Applies a parser, returns tuple of its results and its horizontal
displacement (the difference between the source column at the end
and the source column at the beginning). Vertical displacement
(source row) is ignored.