Cpp: Improved white-space fidelity.
White space characters that aren't '\r' are now kept unmodified
in the output. '\r' characters are removed if they are followed
immediately by a '\n' character, and are otherwise kept.
This change makes cpp() keep indentations, and improves the
readability of the output from Tools.Standalone.precompile.