Fix scissor rectangle bug.

We have had a problem where when a single widget is being drawn using a single scissor rectangle, and we're not also doing dry run draws with that widget, the scissor rectangle becomes displaced from its correct location.

This appears to be because MonoGame returns early from setting the scissor rectangle if it is unchanged, and does not flag it to be updated in ApplyState() as normal.

This would be fine, but a Clear() call always causes it to be set as dirty and reapplied, and the backbuffer and render targets apply the scissor rectangle differently in ApplyState(). This means that if we Clear(), draw anything, then switch from a render target to backbuffer or visa versa, then without calling Clear() on the new target, try to set a scissor rectangle and draw with it, it works first frame, then on the second frame onwards the initial Clear() sets the scissor rectangle wrongly, and when we set the scissor rectangle again later on the new target, it is ignored because the rectangle itself hasn’t changed.

I solve this by making MonoGame never return early from setting the scissor rectangle, and always set it as dirty even if it is being set to the same value.