text: Title: Grads w.r.t. weights of `MixtureGeneral` Distribution are giving `nan`s
  Body: Hi,
  
  We have created some models where we estimate the weights of the `MixtureGeneral` distribution. However, when computing the gradient of this argument, we are encountering `nan` values. We enabled `jax.config.update("debug_nan", True)` to diagnose the issue, and it pointed to the following line:
  
  https://github.com/pyro-ppl/numpyro/blob/8e9313fd64a34162bc1c08b20ed310373e82e347/numpyro/distributions/mixtures.py#L152
  
  I suspect that after the implementation of https://github.com/pyro-ppl/numpyro/pull/1791, extra care is needed to handle `inf` and `nan` values, possibly by using a double `where` for a safe `logsumexp`.
  
  > [!IMPORTANT]
  > This is an urgent issue, so a prompt response would be greatly appreciated.