Function refract

Vector!(T,3) refract(T) (
  Vector!(T,3) I,
  Vector!(T,3) N,
  T r
);