This is needed if we want to use gdk_drag_begin for one-off drags, without a GtkDragSource.
This is a GtkRoot implemntation for drag icons, using the surface provided by GdkDrag. This lets us avoid GTK_WINDOW_POPUP and gtk_window_set_hardcoded_surface.