Same as HTML5 replaceState API, but with old browser support
@method replaceState
@param {Object} state The state object
@param {String} title The title string
@param {String} url The new url
function (state, title, url) {
		var win = this.win;
		if (this.canClientNavigate()) {
			win.history.replaceState(state, title, url);
		} else if (url !== this.currentUrl()) {

			// On browsers that don't support history navigation, only want to
			// replace state if the URL is actually changing.  Otherwise we're
			// in for a potential infinite refresh loop.
			this.navigationWindow().location.replace(url);
		}
	}