Abstract Granulator Source

Granulator does not need to know what the source is (could be audio
input for example).  Do the file open in MainWindow instead.
Rough WIP