Everything has a NodeRenderer now

I think this covers all the interesting cases, but there are a couple of remaining questions. See the comments.