js plugin refactoring, multiple uploads support, FilePath class