IDs are a lot smaller, hence quicker to manage.
Any time we want to refer back to the full node we look it up in its topology.
(This relies on nobody trying to store a rendered node as a child).
* Pass Go context down to Renderers
This is useful for cancellation or tracing.
* Add tracing spans to app
Also log things like number of nodes in Map, total number of reports.
instead of a Map, since it's not really a map as it just updates the
given node.
This is more efficient and also matches what we do in similar
situations elsewhere, e.g. in ContainerWithImageNameRenderer and
ProcessWithContainerNameRenderer.