Fix #815: remove dependency on cats-effect from monix-execution #822
Basically all the usages of cats-effect in execution are removed as discussed in #815.
For CancelableFuture instances, I've used a little known fact that package objects of parent packages are part of an implicit scope for type. That means if
This is an obscure hack, but it gives the best UX as in no extra imports are required. OTOH, it can be used to provide extension methods too. I've refrained from pushing it too hard for now.
I decided also to provide factories for Scheduler - cats-effect datatypes (
In #815, I forgot to mention Cancelable#toCancelToken. It has an optimization for dummy cancelables. We use it three times where it seems like it would not hit that optimization - scheduler calls and CancelableFuture usage.