JavaScript file picker component supporting drag and drop, file chooser and remote URL