[feat](trx-frontend-http): split app.js into ES modules with lazy loading
Extract map-core.js (3,483 lines) and screenshot.js (261 lines) from the monolithic app.js, reducing it by ~30% (11,967 → 8,427 lines). Modules communicate via a window.trx shared namespace with getter/setter- backed state proxying. Map and statistics code lazy-loads on first tab activation; screenshot code lazy-loads on first "S" keypress. All cross- module calls use optional chaining for safe access before modules load. Adds Rust infrastructure (include_str, gz_cache, Actix routes) for serving the new JS assets. https://claude.ai/code/session_01HgW8UpscRRA3CgSLqQDzdp Signed-off-by: Claude <noreply@anthropic.com>
This commit is contained in: