Update visualization picheck to handle parameters (#3459)
Update visualization picheck to handle parameters (#3459)

The visualization pi_check utility function is used to check if a
numeric parameter is close to a fraction of pi and then to format that
in a string which renders that fraction appropriately for the circuit
drawer specified. The matplotlib and text drawers have common parameter
handling that know to only use the pi_check function if the parameter is
a float (or castable to a float), however the latex drawer doesn't have
this common parameter handling. In the latex drawer parameters are
handled in an ad-hoc basis for instructions/gates that take parameters.
When a parameterized circuit is used we can end up in a situation where
we are passing a Parameter or a ParameterExpression object into the
pi_check function directly from the latex drawer which causes an error
because the first operation pi_check does is cast the input to a float.
This commit fixes this issue and enables the latex drawer to work with
parameterized circuits by adding a type check on the input to pi_check.
If the input object is a Parameter object pi_check will just return a
string of that object instead of trying to cast it to a float and check
if it's close to a fraction of pi.

Fixes #3103
QISKit/qiskit-sdk-py,QISKit/qiskit-sdk-py,QISKit/qiskit-sdk-py