Project points onto mesh Python

We are discussing an algorithmic problem ATM here on stackexchange:

I am searching for an algorithm to project a line drawn into the viewport onto a mesh - in a way that the points wrap around the object like in retopoflow contours.

The algorithm suggested in the link above could work but it will be quite ineffective I guess for high poly meshes.

Does someone have a better approach?