Add programmatic API

It is exported as gemini/api node module and allows to use same
commands as a CLI.
Suites now also have unique ids.