Discard imaginry part of coefficients when converting to TFFilter

We seem to be as numerically precise as other implementations, but for
large Butterworth filters we presently return imaginary coefficients
due to limited floating point precision. MATLAB just seems to discard
these, while SciPy keeps them and then presumably ignores them when
filtering.

I also changed Butterworth() to use sinpi() and cospi(), because we
can, and they should be a little more accurate.