I like where this is going.
As for multiple resolutions, one could create several canvases, family them (hah) and then delete them all in runtime, keeping the needed size. Of course this would still eat up the total VRAM at startup :s
I've been thinking of 4-player splitscreen too, but that's not as easy... yeah I could envision the 4-way splitscreen as each corner of the screen, but what about the angles? imagine widescreen, 4 players each in their split-corner, then both players in the upper half approaching each other.... vertically! O_o
4 player-splitscreen could be done with rotation, so that the camera rotates to accomodate any merges, but this example doesn't rotate the playfield, I'm not sure how hard that would be.
Also, 4 player would mean 3 canvases? that's a lot of VRAM if one could only 'paste to screen'.
Hey, that'd be a neat way to control a renderer with events! foreach *default family* ordered by z, paste to screen. Construct 2, perhaps? with a "draw normally" attribute that does this by default, and then one could uncheck it and move and paste stuff around freely like it's done with canvas... and then canvas would just be a buffer!
so um... back in topic. 4 player-splitscreen, any ideas?