using readAsText if no readAsBinaryString

This works for text files in IE10.
use binary url
Minor fixes
Guard against empty files
Issue with IE8. FileReader is not defined.