[async] make jandoc asynchronous

- callbacks all around
- all calls to pandoc use execHandler() function which uses a callback if given

it should still work with the old api, but is untested.