Gravar-mail: A declarative model specification system allowing NeuroML to be extended with user-defined component types