Add Direction.isUpward(), etc
Fix bug: broken circle vs. circle solidity
Add touching for ConvexPolygon and borders