[Refactoring] Remove Type::toCBuffer and use free function instead
[Refactoring] Move toCBuffer(Statement *, ...) prototype into hdrgen.h
[Refactoring] Move Initializer::toCBuffer into PrettyPrintVisitor
[Refactoring] Remove Expression::toCBuffer and use free function instead

Directly call Expression::accept() in PrettyPrintVisitor
[Refactoring] Move Dsymbol::toCBuffer into PrettyPrintVisitor
[Refactoring] Move TemplateParameter::toCBuffer into PrettyPrintVisitor
[Refactoring] Move Condition::toCBuffer into PrettyPrintVisitor
[Refactoring] Move pretty-print functions into hdrgen.c

Also reduces direct HdrGenState object using.
Merge pull request #3858 from 9rnsr/refactor_hdrgen

[Refactoring] Gather all toCBuffer functions into PrettyPrintVisitor