`max_bytes` is meant is the number of UTF-8 bytes added to `buf`, so that you could pre-allocate with `StrBuf::reserve_additional` before calling `read`.

I’m not very happy with the design of `TextReader::read` here, but I don’t know what else would be better. Suggestions welcome.