Implement back/forward and open in new tab

This resolves #1070.