Modules: fix subrequest response body leak in QuickJS
Previously, alternating r.responseText and r.responseBuffer on a
subrequest reply overwrote the cached req->response_body value
without freeing it. The value stayed referenced until the runtime
was freed, triggering the "list_empty(&rt->gc_obj_list)" assertion
in JS_FreeRuntime() in debug builds and accumulating in the runtime
with js_context_reuse.
The fix is to free the cached value before replacing it, as is
already done for r.requestText and r.requestBuffer.
The issue was introduced in
201b1276 (0.8.6).