Add programmatic API

Detail are in the doc. 

@arikon @scf2k 
Опции можно передавать напрямую,  не читая из файла (про это ниже есть). Про асинхронность соглашусь.