viewer: Disable GTK double buffering to prevent flickering and black images

Fixes bug #708088 (viewer image sometimes disappears/becomes black)
Fixes bug #596954 (flickering and black image while resizing the previewer)

Also hide the internal ViewerWidget at startup until a pipeline is set,
to prevent the user's wallpaper from showing up through the viewer.
viewer: set ViewerWidget's "sink" var on pipeline change

This variable was pretty much never set to anything other than None,
and we were somehow relying on it not being None...
viewer: Use the "realize" GTK callback to asynchronously obtain window handle

This eliminates some race conditions resulting from the use of GstVideoOverlay.
Namely, this allows docking the viewer correctly if it was undocked on startup.

Note the new style of getting win32 handle.
timeline: Remove dead code
mediafilespreviewer: Remove sync-message handler and add proper xid handling

Sync message handlers tend to slow down Pitivi, and the xid is no longer saved
in the preview widget as this was racy. Eventually, we should refactor this
so that all the handling of GstVideoOverlay is done in only one place.