Add programmatic API

Detail are in the doc. 

@arikon @scf2k 
Про то, что cli и gui с дефолтом становятся бесполезными — хороший аргумент