Canvas performance improvements
Give Canvas
some significant and much-needed performance gains.
In my testing, I can now pan/zoom/rotate perfectly smoothly at full screen with an empty or basic document. Moving shapes around is visibly smoother. I can also handle the infamous cake (an extremely heavy svg) fast enough to easily interact with, despite have made no actual improvements to rendering. Sadly, I haven't tried the pony (another heavy svg), because I have forgotten where it is. (UPDATE: I've found it again!)
I'll be back later with a detailed description of what I changed.
Fixes #3073 (closed), inbox#2383 (closed), arguably #483 (closed), possibly #1614 (closed) with luck, and probably much more.