compositor: add a Surface class to wrap weston_surface
compositor: don't use weston_surface where not necessary