Implement the [Chaikin's](http://graphics.cs.ucdavis.edu/education/CAGDNotes/Chaikins-Algorithm/Chaikins-Algorithm.html) algorithm step by step in an animation.
The objective is to create a canvas where the user will draw 1 or more points, and then the screen will play an animation of each step to get to the final result of a curve drawn using the `Chaikin's` algorithm. You can see [here](https://youtu.be/PbB2eKnA2QI) a demo of how the application should work.
- The canvas should receive input from the mouse: the user of the program should be able to use the left button to select the control point for the `Chaikin's` algorithm
- After pressing `Return` should start the animation of the steps until reaching the 7th step of the `Chaikin's` algorithm.
- Pressing `Escape` should quit the window.
### Note
You are free to use any library for creating and handling window creation, rendering, keyboard and mouse events.
### Bonus
- Add the ability to clear the screen and add new control points.