Let user create draggable control points

@justinvdm Yeah, I also didn't like that piece of code there. I think you are right, we could add something to the control point's `_layout` which indicates whether it should be visible and the repaint should take care of showing/hiding the right ones.