surface: add WLR_SURFACE_STATE_SUBSURFACES
This allows to figure out when the subsurface list has changed: subsurface added, removed, or re-ordered. In the case where the subsurface list hasn't changed, some book-keeping operations can be skipped.
Re-spin of the first commit of !3170 (closed)