difftool: use Git::* functions instead of passing around state