GJK Algorithm
I made this freshman year, no idea how it works anymore.