Unlock the soundfont earlier after switching preset lists
Do not accept preset or instrument ID 0 as valid
Allow querying the soundfont sample length and format type
Do not allow deleting preset or instrument ID 0
Add a new fontsound object type

This is basically a combined preset and intrument zone with sample header.
Add methods to add generators and modulators to fontsounds
Remove the zone, sample, and instrument object types
Store a list of sounds in the preset
Add methods to set and get sounds on a preset
Allow specifying key and velocity ranges on fontsounds
Remove the generator list
Allow specifying some fontsound sample properties
Allow specifying all 4 sample types

ROM-based types will be specified with a separate property
Add a method to set and get soundfonts

The main purpose of this is to select soundfonts for playback, eventually,
instead of the existing method that takes a filename.
Create a custom fluid_sfloader_t loader

This allows us to load and use soundfont objects the app specifies (the first
one, at least), rather than having to load from a file. It doesn't sound that
good since modulators and most generators aren't yet available, but this will
steadily improve.
Allow loading multiple soundfonts with FluidSynth