GStreamerSharp: remove superfluous state change events by PlayerEngine

While debugging GStreamerSharp backend, I noticed a sequence of events
which was much more different to the usual one when using the GStreamer
(unmanaged) backend. Instead of:

 Ready -> Idle -> Loading -> Loaded -> Playing

I was seeing:

 Ready -> Idle -> Loading -> Playing -> Loaded -> Playing

This was caused by useless events fired by the backend, which are not
fired by the unmanaged GStreamer backend in its corresponding Play()
and Pause() methods.

This also made the process of adjusting the video window to the frame
of NowPlaying source happen later, so it would cause an ugly effect on
slow machines.