File input JS wrapper, using File API & Flash fallback, with "file preview" and "upload progress"