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 and all runners are resolved with
test run statistics.
Document API
Use public api in CLI