GTK+3 has a dedicated API for this: GtkOverlay
(more specifically: it was added in version 3.2).
From the code you have provided it seems as though you are using PyGTK and GTK+2 so it may be worth considering moving to the new version of the toolkit for this functionality.
The gtk3-demo
application provides a good demonstration of the overlay. This application is held in different packages based on your distribution (I'm not sure whether it is available on OSX/Windows) so you might need to do a bit of looking around to find the correct package for it.
As an example of what this might look like in PyGObject and GTK3 (note: some changes made to accomodate changes to the Webkit and GTK api):
from gi.repository import Gtk, WebKit
...
win = Gtk.Window()
overlay = Gtk.Overlay()
page = WebKit.WebView()
page.load_uri("http://www.google.com")
overlay.add(page)
image = Gtk.Image()
image.set_from_file("HappyFish.jpg")
image.set_halign(Gtk.Align.START)
image.set_valign(Gtk.Align.START)
overlay.add_overlay(image)
win.add(overlay)
win.show_all()
win.connect('destroy', Gtk.main_quit)
Gtk.main()