Brief:Implementing raycasting for dynamic buffergeometry

Summary:
BufferGeometry allows faster loading (direct buffer loading)
but not ray casting.  This adds that (if it is dynamic) 

It is largely just a rewrite of the Geometry implementation