Simplify headless app environment configuration
## Problem
Headless SDK examples use environment variables that are inconsistent or unnecessarily manual:
- `DRUPAL_BASE_URL` differs from the `CANVAS_SITE_URL` name used by the CLI and Workbench.
- `DRAFT_ALLOWED_FRAME_ANCESTORS` duplicates the Canvas editor origin already present in signed draft-session data and can drift from the actual site configuration.
## Proposed resolution
- Rename `DRUPAL_BASE_URL` to `CANVAS_SITE_URL` across SDK packages, examples, and documentation.
- Remove `DRAFT_ALLOWED_FRAME_ANCESTORS`.
- Keep CSP protection, but derive the exact Canvas editor origin from the signed renewal URL.
- Use that origin for both `frame-ancestors` and draft-session `postMessage` validation.
- Keep component metadata synchronization server-to-server without browser CORS configuration.
## Acceptance criteria
- No references to either legacy environment variable remain.
- All example apps load inside Canvas.
- Draft activation and in-place renewal work.
- CSP permits only the app itself and the originating Canvas site.
- Component metadata synchronization continues to work.
issue