The IAM admin SPA. Built to static assets (web/dist) and served by the Go
server (cmd/iam) — it is not deployed separately. Consumes
@gopherex/iam-sdk to talk to the API.
make build-web builds it; make build embeds the result into the server
binary. Frontend stack is decided later.
Package web serves the admin SPA. The default build does NOT embed the SPA
assets (so `go build ./...` needs no prior `yarn build`); build the binary
with `make build` (which runs `go build -tags embed` after building the SPA)
to embed and serve it.