A quick and dirty implementation of a pushstate event for greasemonkey.
````
unsafeWindow.history.pushState = exportFunction(function() {
dispatchEvent(new Event('pushState'));
return history.pushState.apply(history, arguments);
}, unsafeWindow);
````
I feel obligated to point out that I loathe `history.pushState()`.