Raycasting improvements

Level got a list of shapes and the bouncecast and shapecast functions

Line got intersect bugfixes

Ray got added to juego

RayHit got a reflect function to reflect an incident vector based on its
normal

Shape got add-vector and copy functions

Added a bunch of shape and ray tests too