fix(tile-ipc): delegate tile:window:open to real window-open handler
The tile:window:open handler was a stub that returned success without
actually opening a window. v2 tiles (editor, groups, tags, etc.) calling
api.window.open() silently failed.
Fix by exporting a reference to the window-open handler function from
ipc.ts (invokeWindowOpen) which tile-ipc.ts can call directly. Preserves
all window-open behavior: canvas rendering, mode inheritance, key-based
reuse, IZUI session registration, etc.