Added raycasting to pointclouds with BufferGeometry

for indexed and non-indexed BufferGeometry

see https://github.com/mrdoob/three.js/pull/4759 for previous PR

> @WestLangley I see that Sprite is returning the wrong distance, too,  

This seems to be a different issue altogether. Shouldn't sprites be treated as quads, rather than points?