Neume component generalization

tweak the neume component model and the gui.js code to use the derived
class models instead of the base models. Gui.js still needs to change to
be more generalized.