https://developer.mozilla.org/En/Using_XMLHttpRequest#Monitoring_progress
https://developer.mozilla.org/En/Using_XMLHttpRequest#Handling_binary_data
https://developer.mozilla.org/En/Using_XMLHttpRequest#Sending_binary_data