On the design of CGAL the computational geometry algorithms library