I am pretty sure those last two lines can be written like this as well (notice the self.SetIcon()):
favicon = wx.Icon('favicon.ico', wx.BITMAP_TYPE_ICO, 16, 16)
self.SetIcon(favicon)
All that other code was doing was invoking an unbound member function and passing it the object to work with.