Provides standard collection of vistiors. Once the tree is
built, the Animator is used to inspect the tree. For each
visitor, it walks the tree from source to each receiver (depth-first)
and/or from each receiver back up to the source. At each node, the
visitor is invoked both prior to accessing it's children (or parent)
and afterwards as the recursion backs out of the path. State can be
stored at each node, in the links between nodes and cumulative results
can be collected and passed back along the visiting path. Different
visitors can be combined to perform separate passes on the tree,
preparing state on one pass that can be used by subsequent visitors
during their analysis.