PLOT: Add option to specify the plotting backend
- [x] closes #14130
- [x] tets added / passed
- [x] passes `git diff upstream/master -u -- "*.py" | flake8 --diff`
- [x] whatsnew entry

Adding option to specify the plotting backend. This does not change the plotting API, so for now backends are expected to implement the existing methods in the matplotlib API. This API is expected to change as a result of the discussions in #26747.


