Remove all AsyncListener JS code

Squashed most of the issues for simplicity.

Review, comment, and if necessary I'll break up the commits into relevant segments.

/cc @tjfontaine @indutny