refactor: move page interaction from the snowbound host into canvas

Hit layers, drags, the placement grid, picture handles, outline and picture chrome, key
routing, scrolling, zoom, caret blink and the AccessKit tree lived in the winit host, mixed
with window plumbing. They now live in canvas::interaction as PageView: hosts translate
their events into its calls, carry out the requests it returns (date picker, clipboard,
character picker) and follow its changes. Snowbound keeps the window, surface, AppKit
pickers, clipboard and saving, and shrinks from 3.8k to under 1k lines. Behaviour is
unchanged; the host tests moved with the logic, plus one driving PageView end to end.

Assisted-by: claude-opus-5.5
1b0d6e5c86clover caruso committed on 9/26/2026, 3:26:21 AMparentdc52eff
15 files changedLine totals unavailable