wlr_surface: small refactoring
wlr_surface: small refactoring

 - split surface damage and buffer damage
 - the pending buffers are always valid, so can be 'fini'shed
 - consider opaque buffer and input buffer in commit, just to free
 - only update size if scale/transform/buffer changed

swaywm/wlroots,ascent12/wlroots,ascent12/wlroots,swaywm/wlroots,SirCmpwn/wlroots