MusicXML: Cleanup voice handling and fix lyrics order for multiple stanzas
So far, multiple stanzas were handled by a dict, indexed by the voice ID.
However, the order of the elements in a dict is not defined (in particular,
the order is not preserved), so the stanzas got reordered and lost their
sorting.
Furthermore, each voice (with the associated lyrics and the raw data) was
handled by nested lists, which were really complicated to work with (since
one always had to remember the structure of these lists). I now use a
class/struct instead for each voice, which is much more intuitive!