fixed epsilon issue

Previously epsilon difference to fix floating point error was based on
shrinking the distance from the intersection point to the light source.
Now epsilon difference is calculated by moving the intersection point
an epsilon away from the surface of the object based on the object
normal.
Added tons of library files, to be culled!
Revert "Added tons of library files, to be culled!"

This reverts commit a7607ca13cdc4bf845881ea247254b05bf1ee130.
Resolved merge conflict