win32: fix scrolling artifacts
win32: fix scrolling artifacts

When scrolling a window partially obscured by another window,
artifacts of the obsuring window where being blitted into
the newly scrolled position. In other words, BitBlt copies
the covered region (basically garbage instead of what we want)
and does not cause a repaint (unlike how XCopyArea behaves).

Replacing BitBlt() with the old ScrollDC gymnastics (removed from
blit_inside_window() in commit e96a41be45f82af233f5171481c3fecbe95b5b6b)
when being passed a Window for blit_inside_drawable() makes these
artifacts go away.

Thanks to Alexander Larsson for figuring out the cause and
pointing out possible solutions.

Distrotech/gtk,johne53/MB3Gtk-2,johne53/MB3Gtk-2,Unity-Technologies/gtk,Unity-Technologies/gtk,Unity-Technologies/gtk,johne53/MB3Gtk-2,Distrotech/gtk,johne53/MB3Gtk-2,Unity-Technologies/gtk,Unity-Technologies/gtk,johne53/MB3Gtk-2,Distrotech/gtk,Distrotech/gtk,Distrotech/gtk