fix(security): remove unsafe-inline from CSP, scope permissive policy to /docs (#64)
The global CSP allowed 'unsafe-inline' in scriptSrc and styleSrc plus
cdn.jsdelivr.net, which defeated XSS protection for all routes. These
were only needed by the Scalar API docs UI.
- Move Scalar registration into a scoped Fastify plugin (docsPlugin)
that overrides CSP via an onRequest hook for /docs routes only
- Strip 'unsafe-inline' and CDN allowlisting from the global CSP
- Add baseUri, formAction, and frameAncestors directives
- Add 14 unit tests verifying strict vs permissive CSP per route scope
authored by