Is there a good reason why I can't just make a window desktop sized and render the game to that by stretching the canvas?
Isn't it possible to do that with manual scaling factors, by creating a window without a title bar, client-area-sized to match desktop calls? The menu and status bar can be eliminated (not sure about the Mac, which has a fetish for a full-width menu bar).