fix(ngBlur): use "safe" $apply while handling events such as blur

When the DOM is modified during a digest cycle it can cause the blur
event to be raised. Change the code to call $apply only if necessary.

Should resolve #5401