draw the body content, though the icons don't show up in the right spot (scaling).
wrapped textbox in a Graphics context, so that it'll actually spit out onto the composed card
changed to .topLevelGroup instead of pulling it out of the DOM manually
added a block(..) variant that accepts text attributes instead of a Font object
changed the font derivation to operate via text attributes instead of Font.deriveFont
changed the flavor text styling to come from a compositor-supplied font, instead of deriving one on the fly in the measurer.
changed the open/close graphics stuff to a withGraphics closure for better resource management
changed the body text drawing to use Graphics.drawString instead of TextLayout.draw, so that it can use a String instead of an AttributedCharacterIterator, and thus get <text> elements instead of <path>s in the emitted SVG.
added the defs for body icons, so they show up.
Revert "changed the body text drawing to use Graphics.drawString instead of TextLayout.draw, so that it can use a String instead of an AttributedCharacterIterator, and thus get <text> elements instead of <path>s in the emitted SVG."

This reverts commit d612e0d728abdf103e9c95696d90c618ea438ed6.
put the artwork behind the frame, and cut a hole in the frame with a layer mask so that it'll show through.