This module implements an object class, instances of which store
a (mutable) string buffer that supports tags. A tag is a name/value
pair that applies to some extent of the underlying string.

The types of tag names ought to be strings, or at least values that
are well-behaved as strings, as the names will often be used as
the keys in hashes or applied to the eq operator.

The types of tag values are not restricted - any scalar will do.
This could be a simple integer or string, ARRAY or HASH reference,
or even a CODE reference containing an event handler of some kind.