CURSOR REMNANT — empirical finding (Motor B, tmux scrollback, 8 submits, 100x20)

TAPIR: 10 inverse-video (ESC[7m) cells; 9 FROZEN in scrollback history at
       regular ~23-row (frame-height) intervals, each on an EMPTY line =
       the editor's cursor cell frozen every time the screen scrolled.
PI:    2 inverse cells, both in the LIVE area (rows 86-87 of 89), on real
       text ('Pi rolou','Pi'); ZERO in scrollback history. No accumulation.

ROOT CAUSE: Tapir bakes the cursor as an inverse-video cell into the editor
line content (view.rs render_editor/with_cursor: "\x1b[7m \x1b[27m"). When
the transcript grows and the terminal scrolls, that line freezes into the
terminal's native scrollback with the inverse cell intact -> white-block
remnant the user reported ("resquício a cada Enter").

PI's approach: hardware cursor. Editor emits a zero-width APC marker
CURSOR_MARKER="\x1b_pi:c\x07" at the cursor position (editor.ts:486); the
renderer finds it, computes (row,col), STRIPS it from the line content
(applyLineResets / tui.ts:864), and positions the REAL terminal cursor with
CSI col G + relative row moves (tui.ts:3507-3533). Nothing is baked into
line content, so nothing freezes in scrollback.

FIX: port the hardware-cursor mechanism. Raw captures saved next to this file:
  submit_remnant_tapir.ansi (before), submit_remnant_pi.ansi (reference).
