Returns the farthest visible node on the path from <start> to <end> or undefined if no path exists.
Example:
node = GetVisibleNode( guy.origin, enemy.origin, guy )
* = mandatory