code: def split(self, t):
          
          bpoints1, bpoints2 = split_bezier(self.bpoints(), t)
          return CubicBezier(*bpoints1), CubicBezier(*bpoints2)
docs: returns two segments, whose union is this segment and which join at
          self.point(t).