Raycaster first checks for intersection with bounding box

I've added an intersection test between a ``Ray`` and a ``Box3``.

Additionally, in ``Raycaster``, the method ``intersectObject`` first checks for an intersection with the object's bounding box (if it exists ) before continuing with tests against the faces of the mesh. The ray is transformed to the local coordinates of the object for this.

This might be useful for complex meshes with a lot of faces that are not very well approximated by a bounding sphere. I leave it open for discussion whether that is enough to justify this change or not.