[imp] user scala futures internally

The legacy homemade executor pool is now a standard scala
`ExecutionContext`, which allows for using futures internally.
This also allows to simplify the signature of the HLet methods and for
user to choose the `ExecutionContext` of their choice for each resume,
and no global one anymore (well, it is still possible but not required
anymore).
This should allow for more flexibility on suspendable computations, and
is also more idiomatic and scalaish. This avoids as well homemade
solutions that were kind of duplicates with the standard library. We do
not win that many lines of code, but there is no small benefit when it
comes to duplicates eradication.
add build status image