feat(v1-removal): Phase 3.7f — migrate theme directory mgmt to strict tile:theme:* handlers
Move theme:pickFolder / theme:validateFolder / theme:add / theme:remove /
theme:reload from legacy ipc.ts handlers to strict tile:theme:* handlers
in tile-ipc.ts. Behavior preserved exactly (same dialog, same DB inserts,
same theme:reload broadcast).
- ipc.ts: drop legacy theme:* handlers (registerThemeHandlers() now just
the strict-handler comment)
- tile-ipc.ts: import registerThemePath from protocol.js, add
tile:theme:pickFolder/validateFolder/add/remove/reload behind
trustedBuiltin grant
- tile-preload.cts: api.theme.{pickFolder,validateFolder,add,remove,reload}
now invoke strict channels with token
Second of 5 namespace migrations in Phase 3.7f. Build green, unit tests
588/588.