Add programmatic API

Detail are in the doc. 

@arikon @scf2k 
Предложение:
- если в файле конфига передали относительный `projectRoot`, резолвить его относительно `path.dirname(filePath)`
- если в опциях передали относительный `projectRoot`, резолвить его относительно `process.cwd()` (ну или требовать абсолютный путь при использовании через API всегда, типа явное лучше неявного)