Make frame callbacks unconditional

From wayland protocol:
"A client can request a frame callback even without an attach, damage,
or any other state changes. wl_surface.commit triggers a display
update, so the callback event will arrive after the next output
refresh where the surface is visible."

We therefore should not condition the frame callback on client
having a valid damage rect. Instead, it should be conditional
to surface visibility, known by compositor.