Use two HW cursor buffers per CRTC

Switch to the other buffer when xf86_config->cursor changes. Avoids
these issues possible when re-using the same buffer:

* The HW may intermittently display a mix of the old and new cursor
* If the hotspot changes, the HW may intermittently display the new
  cursor image at the location corresponding to the old image's hotspot.

Reviewed-by: Alex Deucher <>
12 jobs for cursor-double-buffer in 1 minute and 58 seconds (queued for 3 seconds)