JSXTransformer respects async attribute

Implemented according to #1823
Verified with `setTimeout` in `load`.
This is sort of opaque – can we instead have the object be `content: null, error: false` and run if `script.content != null` and skip if `script.error`?