Don't render / send frame events when unnecessary
Wayland protocol provides an ability to specify surface's opaque regions. This could be used by phoc to optimize its rendering pipeline, so the surfaces completely occluded won't have to render their next frames, won't trigger output damage when unnecessary and won't be composited just to have their contribution to the frame be instantly thrown away. This should improve battery life, as right now we're always rendering every surface and don't care whether, for instance, a lock screen occludes the whole output.