Extending the Ray class functionality

A new static CreateNewFromTo to allow creating ray with two points in
space. The function accepts a matrix to transform the ray. default is
the identity matrix.
The function calculates the direction of the vector and its length (for
trianglular intersections)
Also added length parameter to the ray (default is Number.MAX_VALUE) to
prevent wrong intersection detection of objects that stand behind the
end point. Default behavior is not affected by it. Triangle-Intersection
now checks if the distance is correct and returns null if the ray
doesn't actually touch the object inspected.