node-api: generalize finalizer second pass callback
Generalize the finalizer's second pass callback to make it cancellable and simplify the code around the second pass callback.
With this change, it is determined that Reference::Finalize
/RefBase::Finalize
are called once, either from the env's shutdown, or from the env's second pass callback.
All existing node-api js tests should pass without a touch. The js_native_api cctest is no longer applicable with this change, just removing it.