convey: promote escapeHtml + renderMarkdown to AppServices
Adds two public methods to window.AppServices in convey/static/app.js
and deletes 11 escapeHtml + 7 renderMarkdown duplicates across
apps/**/*.html. Removes four redundant per-app marked <script> tags
(shell already loads marked at convey/templates/app.html:100). Retires
the private AppServices._escapeHtml in favor of the public name;
updates the six external consumers (entities, todos, status_pane) to
the renamed method in the same diff.
Behavior tightens in three files (settings, transcripts, import) that
previously used a 4-char regex missing `'` — they now escape `'` →
' via the DOM-based canonical form. Identical in-element render;
closes a latent XSS vector where escaped output was interpolated into
single-quoted attributes.
Extends the shell-consolidation pattern shipped in bed62e6a
(DOMPurify).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>