llm chat done the right way™

Replace Elysia with framework-free Bun routes and add the web UI master

The server now runs on Bun's native per-method routes with Standard Schema (valibot) body validation, dropping the Elysia dependency. Tests exercise a real ephemeral server instead of app.handle. Adds the vanilla-JS chat client: SSE streaming, optimistic send with retry, and the model curation settings page. Also folds in the review cleanup: the server and worker drive loops are unified in a shared JobDriver, dead store/event/sse code is deleted, idle actor eviction no longer orphans live streams, Last-Event-ID validates its conversation scope, and conversations list by most recent activity rather than creation time. 💘 Generated with Crush Assisted-by: Crush:qwen3.8-max-preview