Sound modularization

Abstracts away need to provide instanceIDs to stop a sound. Just a name can be provided. soundDatums within a LayeredSoundDatum renamed to soundLayers to better represent function. @kadst43 @BrettASwift