Move input zoom handling to JavaScript

This adds basic cases. We need to add support for viewport meta tag.
Also maximum scale factor is missing.

In addition, path for viewport move/scale should be calculated so
that it would be the shortest possible path where input would be
fully visible. Currently there are hotspots in each corner.

Biggest problem is that we get "Viewport:Changed" message
only after content is moved a bit but usually you move the content a bit before you focus.