ddc-core-flow: rate inference: create new process kernels as letrecs when necessary

The extracted process should have the same bindings in scope as the
function it was extracted from.
If the original function is in a letrec, it may refer to other functions in
that letrec, so the newly created process should also be added to that
letrec.