fix($sniffer) & fix(ng-input): add check for older webkit browsers and extra milliseconds for iOS7

*Request Type*: bug

#### How to reproduce:

- $sniffer: Create a multipage app with redirects in angular and test it in Android or Safari 5 or lower, the app will end up in an endless loop and eventually crash the browser.
- ng-input: Create a form with validation and try to submit on an iOS7 device, the last character never gets sent, so the form always returns invalid.

*Component(s)*: misc core

*Impact*: medium

*Complexity*: small

This issue is related to: [#6733](https://github.com/angular/angular.js/pull/6733)

#### Detailed Description:

We created a responsive web app in angular, but ran into two issues:

* older webkit engines (< 534) have problem with pushState, these are used in Safari 5 and lower and the Android default browser (not Chrome)
* iOS7 the change event is fired before the value is updated
Other Comments: