well done! To arrive at only 21MB data size, do you use the soundfont version and fill missing notes by timestretching? Does fluidsynth support this?
An update for my iOS app is on its way, too, but I still do not have an internal virtual keyboard or direct playing of MIDI files. You have the edge on that.