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.