Statefile should be line-oriented
Should have instrument + song data in same file?
Should be stateful, like OpenGL- you have a set of variables, and you can
set the variables with single-line commands, and bundle the current values
for the set of variables into a "play such and such" operation with another
single-line command.

The variable-setting commands are lower-case; the operations commands are
upper case, and (?) don't have operands (they're encoded in the variables
and any previous commands); The commands identifiers would be single
characters (apart from any operands).

In the instrument definition, there could be a command that takes the
variables and creates an instrument; there could be another command that
says "Ok, that's all the instruments done, lets go onto the next section".
At that point, the instrument parser would quit and pass control to the
song parser, which would use a different setof variables.

One variable for the song parser would be speed; I think maybe speed would
be a constant for each song? Commands would be: Start/Play, Stop/Cut,
Release (possibly same as Cut?), and Next Line.

At the end there may or may not be an "end song" command, I don't know.
In the end, would like to have a means of looping songs, and really that'd
need the commands to be stored in buffers that could be returned to by
jumps. Hmm, that might make the libGameChip functions more realisable?
