O WebkitWebView tem um go_back() e go_forward() método que cuidará tudo por você. Então, partindo do seu exemplo, faça:
def on_backbutton_clicked(self, widget):
self.webview.go_back()
def on_forwardbutton_clicked(self, widget):
self.webview.go_forward()