Hash based saving

This branch uses a sha256 hash to identify the file used in saved corruptions. Instead of using a file browser to pick a file, it lets you pick a directory and show its own list of files.

 It is now backwards compatible with old saves that contain just the filename. It will look up and select the file based on that name in the chosen rom directory. It will also save the rom directory in the settings file for convenience.

I set my code style to have the { on the same line as the method definitions etc. so that clutters up the files changed diff a bit. If you do the same on the master branch though, the diff will update and show you a cleaner view of my changes. After changing the code style you can use edit > advanced > format document to format a whole file to the new code style at once. If you prefer the default visual studio code style I could make another commit that reverts it back to the way it was and clean up the diff that way.

I'll leave it to you to review my code and make a release out of this, or add some comments about bugs, requests for improvements etc. and I'll work on it some more.