Take cursor surface offset into account
From the spec
On surface.attach requests to the pointer surface, hotspot_x
and hotspot_y are decremented by the x and y parameters
passed to the request. Attach must be confirmed by
wl_surface.commit as usual.
In practice, I don't think it matters that much as most toolkits use wl_pointer.set_cursor to change the hotspot.