Control over matplotlib backend & various bug fixes
New features:
- Create animated plots in an environment with a non-interactive `matplotlib` plotting backend set, without disrupting the global plotting backend

- Create non-animated, interactive plots for easy inspection of data using the new `interactive` keyword argument

- Set the plotting backend for a single plot using the new `mpl_backend` keyword argument, and easily switch between backends within a single Python interpreter session, IPython kernel, and even Jupyter notebook cell

- Use the new `hypertools.set_interactive_backend` function to change the backend for all future plots, or use it as a context manager to temporarily switch to a different backend. You can also use this to create multiple animated/interactive plots simultaneously.

- use `hypertools`'s backend adjustments to control behavior of other plotting libraries

- Set the `$HYPERTOOLS_BACKEND` environment variable to permanently set your preferred plotting backend for non-IPython environments
**NB**: Currently supported backends include TkInter, GTK, wxPython, Qt4, Qt5, Cocoa (aka MacOSX; MacOS only), notebook/nbAgg (Jupyter notebooks only), and ipympl/widget (Jupyter notebooks only). 3D and interactive plots may not render properly in Colab notebooks due to security restrictions imposed by the Colaboratory platform.
Bug fixes
- importing `hypertools` in a notebook no longer creates phantom Python processes, issues warnings when TkInter isn't installed, fails if `matplotlib.pyplot` was imported first, or silently changes the plotting backend (fixes 242)
- creating 3D plots with `hypertools` no longer alters the global `matplotlib.rcParams` object (fixes 243)
- `hypertools` can now be imported for non-plotting-related uses in environments without a compatible GUI without throwing an error
- IPython's TAB-completion no longer triggers a full import of `hypertools` or improperly sets the plotting backend based on the subprocess's environment
- require `scikit-learn<0.24` (full spec: `scikit-learn>=0.19.1,!=0.22,<0.24`) to avoid bug when loading pre-trained `DataGeometry` objects due to renamed sklearn module