Current efforts such as #251 use the output of buildHTML which contains some HTML specific data which is necessary for canvas rendering. It would be nice if we had a more minimal intermediate representation that could be use for rendering HTML, MathML, Canvas, and SVG.