Added mpl_15 decorator
- [X] progress towards #18190 
- [X] tests added / passed
- [X] passes `git diff upstream/master -u -- "*.py" | flake8 --diff`
- [ ] whatsnew entry

FWIW the functionality here could be slightly different, because the previous skip if items occurred in the middle of the function bodies instead of wrapping the function, so the first few lines of code within those functions would run in instances that are being skipped today. 

I've ignored that nuance because I find it strange that we would only want to run part of the test without any assertions for different versions of matplotlib, but if you feel it needs to be accounted for in some other fashion (say separate test cases) let me know