Collision detection rework

redid collision detection from the ground up, it's not actually used yet
but all the functions / variables are in place.