introduced Duration class
reworked Constants::Durations to remove duplication with the new Duration class
introduced Intensity class. Made it so NoteChains can be formed from basic note properties instead of patterns