Pagefind Search 1.0.0-beta3

An internal-architecture release: no new features, no configuration or
schema changes, and no visible behavior changes beyond the fixes listed
below. Existing sites upgrade with no update hooks to run.

Refactoring (why this release exists)
- The reindex sequence (clear staging, enumerate, stage, build, clear the
  synonyms flag) now has a single owner, the pagefind.reindexer service.
  The dashboard batch, Setup Wizard, Drush commands, cron sweep and queue
  worker are thin adapters over it.
- The React display app is split into an exported, testable component
  with an injectable search engine; 15 component regression tests now pin
  the accessibility behaviors that previously shipped regressions
  (keyboard shortcut, rapid load-more, focus restoration, live-region
  precedence).
- The pagefind_display string grammars (filters, sorts, columns) are
  owned by one value object on the PHP side; the browser now receives
  pre-parsed filter config (with a fallback for cached pages).
- The search page and search block build their identical payload through
  one service; the '/search' default now exists in exactly one place.
- The module's views ship as importable config in config/optional.
- Display path and machine-name rules are shared by the Setup Wizard and
  the display form via one validator.

Fixes
- A display can no longer be created at the configured search page path
  through the display form (the wizard already rejected this).
- The dashboard reindex no longer stages unpublished non-translatable
  entities only to have them access-filtered and deleted again.
- The cron synonym re-stage sweep honors the configured batch size
  instead of a hardcoded chunk of 50.
- Multisite URL validation now sees the same normalization that saving
  applies.

Verified on 18cf66e: drupal.org pipeline 923533 green across all jobs,
checked per job (composer, composer-lint, phpcs, phpstan, stylelint,
eslint, cspell, phpunit). Locally: Kernel 156 tests / 1739 assertions,
Functional 39 tests / 430 assertions, PHPStan level 8 clean, PHPCS clean,
vitest 54 tests. Bundle verified byte-identical to a fresh build from
pagefind-react-ui 1.0.0-beta3.

Known limitations (unchanged from 1.0.0-beta1)
- Accessibility conformance remains a build target, not an audited claim;
  no runtime assistive-technology pass has been performed.
- Promoted results and multisite collections are React-display only.