frontend: add source interface and registrar
frontend: implement dia and sml sources

- wrap things up with workflow
- add static initialisation support
- implement dia and sml sources, still lacking persistence support
- finish up the registrar
generate code for latest sml and dia