Speed up for the raycaster. (With 20.000 faces: Firefox 27x, Chrome 6x)

Speed up for the raycaster. 

I don't know if this is hte right place to start the discussion. But i tried to be backward compatible in the file Ray.js. So there are 3 OptionalTargets now.  I don't know if this is the right way to go.

In firefox i am 27 times faster with this new work flow.
Chrome handles the trinagle intersection better and is only 6 times faster.  This is with a mesh with 20.000 faces.  With smaler objects it is possible that there is no performance gain or even a performance loss by very small objects. 

Would it make sense to make those "optional" non optional and have a cleaner API?