[RFCv3 13/14] drm/i915: Split cursor update code from cursor ioctl handling