Extend the existing appearance zoom setting so it also scales xterm.js
terminals and Monaco editors (diff viewer, three-pane merge editor, file
workspace editor), which previously rendered at a hard-coded 13px
regardless of zoom.
- Terminals read zoom at init and update term.options.fontSize live on
zoom change, refitting after a double rAF so xterm's renderer has
recomputed cell metrics. Font size is rounded to an integer to avoid
subpixel blur in the canvas renderer.
- Monaco editors derive fontSize from zoomLevel; three-pane merge
editor memoizes its options object to avoid redundant updateOptions
calls on unrelated re-renders.