text: Title: Moment.resolve_parameter not resolving all the expressions
  Body: **Description of the issue**
  
  **How to reproduce the issue**
  
  ```python
  q0 = cirq.LineQubit(0)
  c = cirq.Circuit(cirq.Rz(rads=sympy.Mul(sympy.Rational(2, 3), sympy.pi)).on(q0))
  cirq.resolve_parameters(c, {'pi': np.pi})
  ```
  
  results in:
  ```
  1: ───Rz(2*pi/3)───
  ```
  
  as per discussion with @NoureldinYosri, `Moment.resolve_parameter`  has a bug which can be bypassed by:
  ```python
  def resolve_parameters(circuit, resolver):
      return cirq.Circuit.from_moments(*[[cirq.resolve_parameters(op, resolver) for op in m] for m in circuit])
  ```
  
  ```
  resolve_parameters(c, {'pi': np.pi})
  ```
  
  results in the expected:
  ```
  1: ───Rz(0.667π)───
  ```
  
  **Cirq version**
  '1.5.0.dev'
  
  