Addresses #160, the user can now add, remove, edit, and change the color
of tags. Miscellaneous fixes related to tags performed as well.

Note: tried out tagging, and the whole tagging a canvas with respect to
the previous one feels weird... at least with single child branching.
Maybe instead explain it as a tag for the canvas itself and not the arrow?