Use reinterpret cast is [does|may]PointTo

Instead of a straight up cast. Avoids problems related to opCast or alias this, such as those in:
http://forum.dlang.org/thread/vldwvnuivsfwjozqiuup@forum.dlang.org
Fair enough. Put it in `std.internal`.