Add Transformer (#25), update everything

Editor and Visitor are now subtypes of Transformer.

This also contains the backend implementation for TypeNameWithArguments.
As I can’t run the tests right now, they’re probably buggy, but I just
wanted to get this commit out.

I don’t want #25 closed yet because I should probably improve the
documentation a bit more and think it through a bit more and stuff like
that.