[C API][Fix] add recursively handling for AddN variant
Hi @ShengYang1 This PR is duplicate of [#59499](https://github.com/tensorflow/tensorflow/pull/59499). Hence closing this. Thank you for your contribution. 
When the input of AddN is nested variant(eg, nested TensorList), for current implementation, `TF_AddNVariant` will leave a variant tensor for `binary_add_func` used by vendor extension, which cannot be handled in extension as variant class is opaque for extension. So recursively handling for variant is needed, and `TF_ZerosLikeVariant` did same work, code [link](https://github.com/tensorflow/tensorflow/blob/e35b2853331f3caed7612f2ae0596fd2fe1353f3/tensorflow/c/kernels_experimental.cc#L529) for `TF_ZerosLikeVariant`.