differentiator: visitor-simplify: move constant/exponent's sign into negation/reciprocation flag unconditionally, as per FIXME.
differentiator: visitor-print: avoid substituting common constants such as Pi.

For now, the list is hardcoded. Maybe it makes sense to add a corresponding flag
to the variable definition structure.
differentiator: visitor-print: make fields protected so that we can meaningfully derive from Visitor::Print.
differentiator: visitor-latex: add a visitor which writes a LaTeX document and renders it using `pdflatex`.
differentiator: main-*: support possibility of LaTeX output.