clients/window: atomically update pointer cursor
Currently, Weston clients update the pointer cursor by first issuing a wl_surface.commit request to update the buffer, then a wl_pointer.set_cursor request to update the hotspot. This causes an issue because buffer and hotspot aren't updated atomically: in-between the two requests, the buffer is new but the hotspot is old.
To fix this issue, create a new surface each time the cursor is updated.
Signed-off-by: Simon Ser contact@emersion.fr