-) Depending on the staff attributes, create TabStaff/TabVoice,
DrumStaff/DrumVoice, RhythmicStaff/Voice or ordinary Staff/Voice
staves.
-) From the staff attributes, create the list of string tunings
for tab staves.
These two points were all that was missing for proper tablature support.
As an implementation detail, I changed all the keys in the dicts from
the full part objects to the part ID (which is also used in the part-list
element in Lilypond, so we can do proper assignments now).