ximagesrc: Fix drawing the cursor when it is outside the capturing region
ximagesrc: Fix drawing the cursor when it is outside the capturing region

When the cursor is partially or totally out of the capturing region on
the top side or on the left side, it gets drawn fully inside of the
region with its coordinates rounded up to the left or to the top border.

This is immediately noticeable when using the xid property to capture
a specific window.

To fix the issue, allow negative cx and cx coordinates when checking the
boundaries before drawing the cursor.

NOTE that the boundaries checking calculations still allows the cursor
to be drawn when it is only partially outside of the capturing region,
but this makes sense and gives a more pleasing visual behaviour.

https://bugzilla.gnome.org/show_bug.cgi?id=690646

hizukiayaka/gst-plugins-good,jcaden/gst-plugins-good,shelsonjava/gst-plugins-good,veo-labs/gst-plugins-good,stfl/gst-plugins-good,pexip/gst-plugins-good,pexip/gst-plugins-good,loshca/gst-plugins-good,rawoul/gst-plugins-good,GStreamer/gst-plugins-good,GStreamer/gst-plugins-good,StreamUtils/gst-plugins-good,GStreamer/gst-plugins-good,Kurento/gst-plugins-good,rawoul/gst-plugins-good,GrokImageCompression/gst-plugins-good,freedesktop-unofficial-mirror/gstreamer__gst-plugins-good,GStreamer/gst-plugins-good,freedesktop-unofficial-mirror/gstreamer__gst-plugins-good,kittee/gst-plugins-good,shelsonjava/gst-plugins-good,stfl/gst-plugins-good,jcaden/gst-plugins-good,sh0/gst-plugins-good,veo-labs/gst-plugins-good,froggatt/gst-plugins-good-m,vatavuserban/gst-plugins-good,ijsf/OpenWebRTC-gst-plugins-good,BigBrother-International/gst-plugins-good,chamois94/gst-plugins-good,Kurento/gst-plugins-good,rawoul/gst-plugins-good,vatavuserban/gst-plugins-good,loshca/gst-plugins-good,ijsf/OpenWebRTC-gst-plugins-good,StreamUtils/gst-plugins-good,kittee/gst-plugins-good,stfl/gst-plugins-good,hizukiayaka/gst-plugins-good,loshca/gst-plugins-good,ikonst/gst-plugins-good,sh0/gst-plugins-good,BigBrother-International/gst-plugins-good,shelsonjava/gst-plugins-good,jcaden/gst-plugins-good,hizukiayaka/gst-plugins-good,vatavuserban/gst-plugins-good,loshca/gst-plugins-good,GrokImageCompression/gst-plugins-good,froggatt/gst-plugins-good-m,shelsonjava/gst-plugins-good,vatavuserban/gst-plugins-good,Kurento/gst-plugins-good,chamois94/gst-plugins-good,Kurento/gst-plugins-good,ijsf/OpenWebRTC-gst-plugins-good,sebras/gst-plugins-good,sebras/gst-plugins-good,pexip/gst-plugins-good,BigBrother-International/gst-plugins-good,chamois94/gst-plugins-good,ikonst/gst-plugins-good,sebras/gst-plugins-good,freedesktop-unofficial-mirror/gstreamer__gst-plugins-good,jcaden/gst-plugins-good,Kurento/gst-plugins-good,froggatt/gst-plugins-good-m,rawoul/gst-plugins-good,GrokImageCompression/gst-plugins-good,veo-labs/gst-plugins-good,sebras/gst-plugins-good,StreamUtils/gst-plugins-good,pexip/gst-plugins-good,stfl/gst-plugins-good,kittee/gst-plugins-good,BigBrother-International/gst-plugins-good,chamois94/gst-plugins-good,GrokImageCompression/gst-plugins-good,ikonst/gst-plugins-good,sh0/gst-plugins-good,veo-labs/gst-plugins-good,StreamUtils/gst-plugins-good,froggatt/gst-plugins-good-m,ijsf/OpenWebRTC-gst-plugins-good,freedesktop-unofficial-mirror/gstreamer__gst-plugins-good,pexip/gst-plugins-good,ikonst/gst-plugins-good,kittee/gst-plugins-good,sh0/gst-plugins-good,hizukiayaka/gst-plugins-good