BUG/MINOR: h3: release resources on close

Implement the release app-ops ops for H3 layer. This is used to clean up
uni-directional streams and the h3 context.

This prevents a memory leak on H3 resources for each connection.
diff --git a/src/h3.c b/src/h3.c
index 463c131..4d373f5 100644
--- a/src/h3.c
+++ b/src/h3.c
@@ -892,6 +892,15 @@
 	return 0;
 }
 
+static void h3_release(void *ctx)
+{
+	struct h3 *h3 = ctx;
+
+	h3_uqs_release_all(h3);
+	h3_uqs_tasklets_release(h3);
+	pool_free(pool_head_h3, h3);
+}
+
 /* HTTP/3 application layer operations */
 const struct qcc_app_ops h3_ops = {
 	.init        = h3_init,
@@ -899,4 +908,5 @@
 	.decode_qcs  = h3_decode_qcs,
 	.snd_buf     = h3_snd_buf,
 	.finalize    = h3_finalize,
+	.release     = h3_release,
 };