Asynchronous JavaScript combinator library