Helper class used for efficient encoding of JSON String values (including
JSON field names) into Strings or UTF-8 byte arrays.

Note that methods in here are somewhat optimized, but not ridiculously so.
Reason is that conversion method results are expected to be cached so that
these methods will not be hot spots during normal operation.

Helper class that is similar to java.io.ByteArrayOutputStream
in usage, but more geared to specific use case we have here.
Specific changes include segment storage (no need to have linear
backing buffer, can avoid reallocs, copying), as well API
not necessarily based on java.io.OutputStream.
In short, this is a very much specialized builder object.