Implement `plot`
Highly non-trivial. Current implementation contains extensive mixing of backend-specific and backend-agnostic code.
In addition, features such as changing the marker size when zooming may not be possible to implement on the Python side. This will require investigating how to hook into plotly's JS from Python.
Consideration should be given to 1D, 2D and 3D plots.