zoom: Use pixels instead of GL coordinates
zoom: Use pixels instead of GL coordinates

Previously, the zoom functions used GL coordinates natively which doesn't
work with the new output matrix calculations.  This changes zoom to work in
pixel coordinates to match the new output matrix format.  This also cleans
up the math in the zoom code substantially.

This patch changes the meaning of weston_output_zoom::trans_x,trans_y,
and doing so probably breaks zoom on the rpi-renderer and all absolute
input devices. These problems are fixed by the following patches:

	rpi-renderer: minimal fix to zoom coordinates
	compositor: use weston_matrix_transform for
		weston_output_transform_coordinate

[Pekka: added a comment]
Reviewed-by: Pekka Paalanen <0f6ae7001e34c37b02fb2c1c2573ddf8f442136a@collabora.co.uk>
Reviewed-By: Derek Foreman <2f97e0f0bc172406aab8ccd42dab54c95bab8759@osg.samsung.com>
Reviewed-by: Jason Ekstrand <68c46a606457643eab92053c1c05574abb26f861@jlekstrand.net>

giucam/weston,xorgy/weston,udoprog/weston,Gnurou/weston,Fantu/compositor-spice,Gnurou/weston,udoprog/weston,mchalupa/weston,Fantu/compositor-spice,sir-murray/weston,xorgy/weston,Fantu/compositor-spice,krezovic/weston,Tarnyko/weston-xdg_surface_present,sir-murray/weston,eyolfson/weston,jonnylamb/weston,jonnylamb/weston,mchalupa/weston,eyolfson/weston,kwm81/weston,giucam/weston,Tarnyko/weston-xdg_surface_present,krezovic/weston,kwm81/weston