This computation is complex and useful enough to expose the existing C math utility used by BVH nearest to Python. Otherwise this requires the use of intersect_point_tri and multiple intersect_point_line calls with some added vector math. Differential Revision: https://developer.blender.org/D6200