Implement storing datasets locally and example/default datasets
Created by: Masboes
This adds the option in the menu for the user to open from a set of example datasets stored in assets and the option for opening previously uploaded datasets from localStorage.
Datasets are compressed before they are stored in localstorage, because localstorage is relatively small compared to most datasets (5mb). Compression is done in a web worker to make sure the page doesn't lock up. Compression of a large dataset takes about a second. Decompression is done in the main thread, because it is very fast (10s of milliseconds for even large datasets).
fixes #147 (closed) related to #148 (closed)