style.bar: add support for axis=None (tablewise application instead of rowwise or columnwise)
- eliminate code duplication related to style.bar with different align modes
- add support for axis=None
- fix minor bug with align 'zero' and width < 100
- make generated CSS gradients more compact

- [x] Closes #21525
- [x] tests added / passed
- [x] passes `git diff origin/master -u -- "*.py" | flake8 --diff`
- [x] whatsnew entry
