Make BinaryLoader more compatible with older browsers.

This should make binary loader compatible with XMLHttpRequest 1 browsers.
Also simplifies callbackProgress process which should avoid bugs with some browsers.
Adds a checking to loadAjaxJSON parameters like in load function.

This should fix issue #3449.