https://blog.jupyter.org/posts/2019/ipycanvas-a-python-canvas-for-jupyter/