Compress added strings by chunking them according to optinmal mode.

If the added string contains long runs of characters that are
best encoding with different modes (numbers/alphanumeric/bytes),
then reduce the encoded size by breaking the string into
chunks and encoding each separately.
(The chunk size threshold 10 is probably suboptimal, but exact
calculation depends on many parameters, including the length
field overhead induced by chunking; and that the length field size
depends on the final size version, which isn't yet known.)

For example, the QR code encoding "0123456789"*10+"z"
losslessly shrinks from version 6 (41x41) to version 4 (33x33).