Improved argument handling and added export support

- You can drag and drop files on the executable.
- The program will ask for confirmation before overwritting files.
- Improved Windows support.
Add test suite