fix(page): content-sized BrowserWindow instead of fullscreen canvas
The fullscreen transparent canvas approach broke slides and any
extension passing explicit x/y to position web pages. The window
was overridden to fullscreen at (0,0) and the webview CSS-positioned
inside, so extension-provided coordinates were ignored.
Now the BrowserWindow is sized to match the content directly:
- Webview fills the window via CSS (no JS positioning)
- Drag via native -webkit-app-region on navbar (no custom handler)
- Resize via window-set-bounds IPC to resize the BrowserWindow
- Slides pass final x/y directly (no off-screen animation)
All pages use the same infrastructure regardless of caller.