projector: add notebook renderer
This change introduces Python API to render the new projector in Juypter
notebook. It currently provides work in progress API, embedding which
visualizes the embedding data and label rendered in the visualization.
In order to support both Colab and Jupyter, I have decided to introduce
an abstraction, Renderer which knows how to render an output cell and
how to communicate with it. Do note that Jupyter and Colab are very
different; Jupyter does not encapsulate JavaScript context for each
output cell so a symbol exposed on globalThis bleeds over to other
output cells while Colab does not do that.
I think were just missing some type annotations. Looks like the static typing tests are failing for tensorflow_similarity/visualization/projector_v2/notebook.py:71
Thanks for taking a look at the CI. I am doing the work on the side and will get to it when ready. Also, will mark the PR as "Ready for review" when it is truly ready.
Sounds good, thanks!