refactoring collision response, add poly-poly intersection, poly.isConvex, minor fixes