Added a tree structure to split objects into spatial hierarchies.

This should eventually avoid the problem where objects are
mentioned in relation to each other, but not to their
surroundings.
Using spatial tree to describe scene.
Refactor to move perspective stuff into Perspective class.

Now Renderer is called Narrator, and it just translates the
Perspective. This means you could use multiple perspectives with
one Narrator context.
Added example for printing details about a single object.