[intersections] Make IntersectionPolicy customizable
I realized we had this customization point but it was not exposed. In order to use a different intersection policy I had to copy the entire implementation. Now it should be possible to choose the intersection policy (e.g. PointPolicy).
I implemented it as a function parameter, because there is already template arguments and they are being deduces. So to introduce the policy, I would have to have introduced it as first template argument.