file: Propery support IE10 for file uploads

It turns out that FileReader::readAsBinaryString() is deprecated and not recommend by anyone. It was probably deprecated before M$ started writing support for it in their browser. It's not surprise that it isn't supported.

This patch now uses FileReader::readAsArrayBuffer() to read the file content and uses the Blob() constructor to build the request to send to the server. The result is hopefully that the browser does not have to do any significant processing on the file or the request payload before sending it to the server.

Fixes #1285