Suggestion: Give more multithreading flexibility
The Python interpreter can be constructed by any thread while the destructor is always the main thread. This can lead in some errors with the Python side of things, where some objects want the thread which constructed them to also destroy them. By adding this 'kill' function, a developer can use your library (btw gj! 👍 ) with `std::thread` in order to create a plot async -aka without blocking the main thread- and then close the plot and 'kill' Python interpreter afterwards, without waiting the program to end or having destructor errors.
Doing this in order to showcase this more. Small change but not that polished. Let me know about your opinion first and we can fix it 😃.
Thank you for your time and this great library ❤️