egl-backend: fix memory leak
backends: remove get_cairo_surface function

also fix memory leak in ui from data_device