Chord Analysis Feature - Do not merge

This is a preliminary pass at adding the ability to analyze chords as they are played. It borrows heavily from the pre-existing Harmony prototype with some modifications and improvements to fit the new architecture.

Annotations are added above and below the staff to describe certain features of the chord when the "Analyze" option is checked on the UI. The analysis that is displayed will depend on which options are selected and the number of notes that are played at one time. 

I'll add a more complete description of this feature when it's ready to be merged.