refactored ADSR to be self-contained class, removed legacy code from SynthEvent, made caching of synth events optional