Adds Tracer objects that format information about the resolution.

Simply using the trace() calls was causing MASSIVE performance
degredation when the graph got large. Even if no ui is provided, the
strings were still interpolated. Some of the objects that were
interpolated can be GIGANTIC, which causes major slowness.

Now, unless you have provided a ui object, the output strings are never
calculated.