[DDMD] Move existing C++ mangler into a visitor class

Step 1.

@IgorStepanov @ibuclaw