feature/wrapnotes

This feature fixes a text wrapping issue with the analysis text that appears beneath the stave. Sometimes, the text is too long and overlaps the analysis of other chords. Unfortunately, canvas does not provide methods to wrap text, so we have to do it ourselves.

This PR adds a utility function to wrap text and then modifies the notater to invoke it and do the right thing with the wrapped text.

@jazahn Can you review this when you get a chance?