feat(consent): add cookie banner and gate analytics counters by consent
Cookie banner:
- Add configurable banner (enable, manual reset version, multilingual text) on a
new admin page in the consent module; values stored in config('johncms').
- Render a sticky banner in the default theme with an Accept button and versioned
localStorage consent; default translatable text links to the Privacy Policy.
Counters:
- Add per-counter 'Load only after cookie consent' flag
(cms_counters.require_cookie_consent). Gated counters are deferred inside a
<template> and injected only after the visitor accepts the banner (Accept
dispatches a cookie-consent-accepted event; scripts are re-created to execute).
- Add an 'Enabled' checkbox to the counter form; new counters default to enabled.
- Add install/update_counters_cookie_consent.php for existing installs.
Localization:
- Scan themes/admin sidebar into the admin gettext domain so menu strings persist.
UI:
- Fix nav-tabs contrast in the admin dark theme.