Add programmatic API

Detail are in the doc. 

@arikon @scf2k 
Эта вещь означает, что все тесты успешно выполнены, но в некоторых не совпадают картинки. Не уверен, что в этом случае `reject` будет правильным, это все-таки штатная ситуация.
Критичные ошибки, которые приводят к остановке тестов попадают в `reject`. 

Не критичные, которые валят один тест, но не мешают остальным (не найден элемент, например) тоже не приводят к `rejectу`. Вот тут у меня гораздо меньше уверенности в правильности такого поведения.