The AttributedText constructor now allows setting attributes as a dict
via the "attributes" argument. It also interprets all other named
arguments as attributes, which override the attributes set via the
"attributes" argument.
Attributes can be set and deleted on sections of a MarkedUp object.
Chunk attributes work like dicts (name + arbitrary value). This can be
used to set color info or attach a link/URL to parts of a string, for
example.