dom/builder: allow DOM nodes in the DSL
canvas: add DOM::Builder converter