Fix isolation of pushState and replaceState

If some user want add own hook on pushState:
```
oldPush = history.pushState;
history.pushState = function(state, title, url) {
	oldPush(state, title, url);
	document.title = title;
}
```
He will face up with problem that replaceState now work as pushState.

Private localPushState function solves this problem.

Also if some not attentive user write pushState(state, title, url, some)
he also face up with the same problem.

Function for pushState solves this problem.