Use short instead of float

Re-write waveform reading, drawing methods
Use double to increase accuracy
Add a cache folder to project folder

Contains all data that can be regenerated.
Add ClearCache command

Will re-load the current project while re-stripping the audio and other
cache-related things.
Add ProjectFile to string implicit operator
Save stripped audio file to project cache
Add SetProgress method
Save descriptions to proper location

Description wav files are now saved in projectfolder/descriptions
Require every property to be deserialized

If a property in Project is not found in a json file, an excaption is
thrown.
added Header class rather than having a struct
Merger
removed merge text within file