replaceState only when window location changed
Don't replaceState when user just clicked on an anchor link
Don't replaceState before the visitor scrolls