implemented proper browser redirect to replace tab.url update and redirect page tracking, which was slopier, slower, and generally broke the back-forward chain of browser events; fixes #5