Use canvas's transform to do text zoom in/out.

Font size changing might not work on chromium when the minimal font size
is set. The browser will prevent the canvas using the smaller font than
that settings.
And zooming the text by changing font size is not smooth.