Fix typo, and ensure 100% loading event fires

- Added a missing "var"
- Fixed "this.un" to be "this.on"
- Added logic to work around XMLHttpRequest() object not firing a 100% progress sometimes (depends on conditions), so that a 'progress' event of 100% is always going to fire.
  - Conditions can sometimes be that a number like 86% is the last thing you get, which does not help if you have a UI element waiting for 100% in order to render something properly.  The "fired_100" sentinel is in place to prevent firing double 100% notifications.