Cancellable JS promise in Rust

Usage

```rust let promise = wasmbindgenfutures::futuretopromise(async move { ... });

let abortcontroller = Box::new(worker::AbortController::default()); let output = cancellablepromise::make(abort_controller.signal(), promise);

// eventually ...

abort_controller.abort(); ```