bezier-curve: Refactor out a BezierPoint class from ControlPoint.

BezierPoint can observe/unobserve and has asymmetric/mirror/contains
methods.