Instead of inheriting from the renderer, it would be more flexible to have this extension decoupled. The renderer may change in future, and there is also a concern with performance: drawNodeText() is synchronous.
That means that doing the DOM manipulation will hold up redraws(), thereby slowing down the "rendering loop" (not quite how it works, but the principle is the same). It would probably be faster to poll using timeouts, and update the labels then. There may be a slight lag in the labels, but that would be an acceptable tradeoff for performance.