The KiteJS JavaScript engine behind suspending functions. Awaits a JavaScript promise from Kotlin, hands a Deferred to a script as a promise, binds host functions that suspend, and cancels a running script when the calling coroutine is cancelled. The engine runs on a dispatcher that handles one call at a time, as JavaScript itself does.