Composite async

Async support for composite like identify and convert.

I rename ConvertAfter to GeneratedBlobAfter and use it to call the callback of convert and composite to avoid duplication of code.

Also I added a early check of the second parameter is a function on async versions. I you prefer separate pull request for that tell me.
`convert` should be `composite` here.