wayland: Port tablet cursor to {Shape,Surface}CursorSource
Currently the tablet cursor doesn't use SurfaceCursorSource because it doesn't handle changing the surface size after the set_cursor request.
This change adds missing surface commit handling in the SurfaceCursorSource so the tablet cursor can use it. As a side effect, the pointer interface doesn't need to track surface commits anymore.