Split instance-overrides.ts into focused modules
Break the 781-line single-function file into a kiwi/instance-overrides/
folder with domain files:
- types.ts — shared types and OverrideContext
- index.ts — thin orchestrator (99 lines)
- populate.ts — populate empty instances from components
- resolve.ts — componentId root, override target, repopulateInstance
- symbol-overrides.ts — apply kiwi symbolOverrides
- sync.ts — transitive sync through clone chains
- props.ts — component property assignments
- dsd.ts — derived symbol data (pre-computed sizes)
The shared closure state (6 maps) is now bundled in OverrideContext,
passed explicitly to all functions. No behavior change.
Fixes: complexity lint error (was 25, max 20), prefer-optional-chain,
nested ternary parentheses, import() type annotation.