Add Turnstile CAPTCHA for sandbox creation
Server: add validateTurnstile and make authVerifier async to verify
x-challenge header using CF_SECRET_KEY; auth output now includes an
artifacts flag and createSandbox rejects requests without a valid
challenge (401).
Client: add react-turnstile and CF_SITE_KEY, render Turnstile in
NewProject, send X-Challenge header when creating sandboxes, and show
placeholders until a challenge token is obtained. Update deps and env.