Add validate_state with constant-time comparison for CSRF protection
The library generated state but provided no validation function,
leaving callers to roll their own (potentially timing-vulnerable)
comparison or skip validation entirely.
Add validate_state using constant-time byte comparison. Update the
section heading and docs to spell out the caller's obligation: store
state in session before redirect, validate on callback, reject on
mismatch. Update module example to show the full generate/validate
flow.
4 new tests: matching, mismatch, empty, and length-mismatch cases.