refactor(tile-preload,ipc): flip opener-* to strict + delete legacy (Phase 3.6a)
tile-preload.cts already invokes tile:window:opener-postmessage,
tile:window:opener-close, and tile:window:opener-focus (landed in 3.5a).
Delete the three legacy ipcMain.handle('opener-postmessage'|'opener-close'|
'opener-focus') blocks from ipc.ts — no remaining callers use the bare
channel names from tile-preload. app/page/page.js callers are tracked
separately (strict-shadow bucket, later phase).