feat: draw-to-blank phase 2 -- insert #blank[] from drawn box
Walk all fragment glyphs into RenderResult.glyph_map with per-character
source ranges (using glyph.span.1 byte offset, not the whole span node)
and an is_in_math flag derived from Equation node ranges in the syntax tree.
On mouseup in draw mode, find overlapping glyphs, reject math regions with
an inline error, otherwise splice #blank[text] directly into the source signal.
Error boxes (red) shown for failed draws; cleared on draw mode toggle.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>