fix(theme): setWindowColorScheme window resolution in headless (Cat 3)
The trustedBuiltin override of api.theme.setWindowColorScheme in
tile-preload.cts was guarded by if (trustedBuiltin) at buildAPI()
time, when the flag is always false (validateToken() runs
asynchronously from api.initialize()). The guard meant the wrapper
was never installed — callers hit the base function with a missing
windowId and failed.
The wrapper is now installed unconditionally. It dispatches on arg
shape: (colorScheme) resolves the target via the tracker hint,
(windowId, colorScheme) preserves the legacy explicit-target form.
Non-trusted callers are still rejected by the strict
tile:theme:setWindowColorScheme handler.
The strict handler itself now has a resolution chain so it can target
the right window even when the lastFocusedVisibleWindowId tracker
is stale (e.g. headless show:false windows never emit focus
events). Order: explicit windowId -> tracked id -> getFocusedWindow ->
enumerate non-destroyed, non-background, non-test-fixture, focusable
BrowserWindows (most-recent by id).
Fixes smoke tests 4547 / 4590 / 4650.
Validation: yarn test:grep 'Window Targeting' -> 3 passed (9.5s).