new approach to tree rendering

@jdegoes I don't think this is _quite_ what you had in mind, but it lets you write `selector.showTree` with no further ado, and it will be easy to compose the `RenderedNode`s from different types.

See comments on the diff.