fix(input): $evalAsync than $apply on input blur

without $evalAsync I would have to wrap a few directives in a setTimeout to prevent digest loop conflicts
```javascript
angular.module('directives', [])
.directive('focusOn', function($parse) {
  return function(scope, element, attrs) {

    // avoid $digest in progress
    setTimeout(function() {
      var getter = $parse(attrs.focusOn);
      if (getter(scope)) {
        element[0].focus();
      }
    }, 0);

  };

})
```