Add canvas-local bendin and zoom flags.
This adds canvas member variables and corresponding options for the declare
object, so that the global (user) zoom and legacy bendin flags can be enabled and disabled separately for each canvas.
This was proposed (and deferred) earlier in !561 (closed) (which see for the previous discussion and rationale), but the original branch seems to be gone, so I've rebased it on the current master and pushed it again.
Jonathan, I really hate to revive this old MR which we discussed at length already. But we're 6 months on, we don't have author-centric zoom yet, and I'm still facing the same issue that prompted me to create this MR in the first place. As long as we don't have author-centric zoom yet, can we at least implement this as a stop-gap solution, please?