Work in progress attempting a ReadChars rewrite.
More ReadChars rewriting.  Test suite now passes.
Note that this reform simplifies ReadChars a fair bit (at least in my eyes).
Also it does away with the use of an INPUT_NEED_NL flag, using the same
strategy for partial \r\n sequences as is used for incomplete multibyte chars.
tidy up.
another coverage test.
Bring over the ReadChars rewrite for integration into the other I/O work.