Introduce DragAndDropIcon
Every time the icon surface is committed, we need to accumulate the surface offset. However, this is not easy to do on the compositor side with the current design.
This change introduces a new class DragAndDropIcon that defines a surface role as well as accumulates surface offsets on every commit.
This fixes a bug where the dnd icon jumps all of sudden while dragging an image from Firefox to other applications.