We should transpose to F# when we have to choose between Gb and F#.
Making the transposer a standalone javascript object.
Testing transpositions when we're not starting with the key of C.
Fixup with transposer component
Testing that natural chords with alterations are transposed with their alterations intact. E.g. C7 transposed up 4 becomes E7, G7alt transposed up 9 becomes E7alt, etc.
Testing that when starting from an "accidental" chord with an alteration (e.g. F#7), we transpose correctly.
Additional tests for chords with weird starting points.
Testing that the transposer can accurately discover minor chords.
Testing that minor chord transpositions grammatically work.