[DDMD] [refactor] Move Expression::implicitCastTo into a visitor class

I left a forwarder in `Expression` for this one too.  It can simply be deleted after the switch to D, no need to touch all the uses.