In IE "focus" and "blur" event listeners fire asynchronously. "focusin" and "focusout" fire synchronously. In other browsers "focus", "blur", and "focusout/focusin(where available)" all fire synchronously.
Because Firefox doesn't support "focusin" and "focusout" natively, our _ElementUtilities._addEventListener WinJS code today will fire synthetic "focusin" & "focusout".

Because we anchor these to the native focus and blur events, we fire our synthetic events asynchronously in IE and syncronously in every other browser. This change has us anchor our synthetic events to the native "focusin" and "focusout" where its supported (everywhere but firefox), otherwise "focus" and "blur".  The net effect is that we should get synchronous synthetic "focusin" and "focusout" events for every browser we support.