wlr_scene: Refactor presentation events
First two commits from !4015
breaking because the buffer output_present event will now be handed a wlr_output_event_present
instead of a wlr_scene_buffer
.
Fixes a rare case where multiple presentation could be sent during a output commit during a failed attempt to direct scan out.
This simplifies anybody who wants to use wlr_scene_buffer.events.output_present
because they no longer need to buffer the event
themselves.