Nodes: Add Refract and Faceforward functions to Vector Maths nodes
Cycles, Eevee, OSL, Geo, Attribute
Based on outdated refract patch D6619 by @james egien (cubic_sloth)
I picked up the old patch assuming it was acceptable due to Brecht's code review.
refract and faceforward are standard functions in GLSL, OSL and Godot shader languages.
Adding these functions provides Blender shader artists access to these standard functions.
GLSL:
https://www.khronos.org/registry/OpenGL-Refpages/gl4/html/refract.xhtml
https://www.khronos.org/registry/OpenGL-Refpages/gl4/html/faceforward.xhtml
See: https://asawicki.info/news_1301_reflect_and_refract_functions.html