||This acceptor only allows traversal to shapes that have useful data
associated with them, and tries to elide details that aren't useful when
analyzing the content of a document.
||To use this to render only particular shapes, override it and provide an
appropriate implementation of getAcceptor() or accept()
||Only visits text nodes, accumulates text content into a string
The text is returned in arbitrary order, with no regards to
the location of the text on the page.
||Used to iterate through shapes
To change the behavior of a particular visitor, you can override either
accept() or getAcceptor() [preferred]
If accept() or visit() throw StopVisitingThisBranch, the iteration will not
visit subshapes of the shape.