Support pretty-printing infix constructors

The exact ``chain'' of infix constructors is preserved to be able to
print parenthesis correctly.
Pretty-print Ratios so they can be Read back
Add a test of parsed and Reading back a data type

For some reason read . ppShow = id is incredibly slow and runs out of
memory. Is the derived parser so inefficient?