Converge TaggedString terminology: use annotations
Instead of having a split between Tags/Annotations/Text properties
(regions of the string are annotated with tagged values, and this is a
property of the text), just have Tags/Annotations.
In line with this, the "properties" field of TaggedString/TaggedChar is
renamed to "annotations", and the getter/setter functions are renamed:
- textproperties -> annotations
- textproperty! -> annotate!
While we're at it, improve the docstrings and functions a bit.