feat(backend): slice 8 — export scene to mxdrw
- internal/exporter: pure BuildScene + 21-char base62 IDs, port ellipses,
device rect+text pairs, IO diamonds, arrow bindings, legend texts.
Bundles intentionally omitted per design §4.1.
- internal/db: PersistExcalidrawIDs idempotent updater per project.
- internal/server: POST /api/projects/:pid/sync/export — loads snapshot,
mints/reuses excalidraw_ids, PUTs scene to mxdrw with bearer auth.
Returns viewer URL + element_count + mxdrw response.
Roundtrip hand-tested against mxdrw.msbls.de: scene saved, IDs stable
across re-exports.