Upgrade Bootstrap to v5
Upgrade bootstrap to v5 with minimal functional changes.
This series is grouped as logically as possible for testing, not as single-functional fixes. So all "Accounts" forms are in a single commit instead of 1-per-change. This way it doesn't end up as 100-commits and more easily tested and rebased if needed. Formatting kept to a minimal and only the changed blocks to help the review side. Only exception is the subscriptions.html template, because it's really tough one with nested accordions.
Most changes kept the same layout, but due to how v5 has wider containers and some other deprecations, there were some change. Overall, changes:
- Add container to constrict single column pages to the centre (Account forms, Login, Register, ...)
- Unify most forms to vertical label+control layout. Any special 'dense' forms are inlined on the template, not through the forms processing in python (e.g. bootstrap_horizontal())
- Try to reduce background-color/color usage and rely on CSS variables. This eases the switch to dark mode. But also some minor theme changes are present
- Switch from button-default (deprecated) to button-primary, so lots of blue buttons now.
- Switch from standalone Popper.js to Bootstrap's version. Avoid any versioning issues and reduce files loaded/maintained.
Some minor notes in the commits, mostly the change to core/models.py needs a double check, and "News" layouts were not tested with real data. And the subscriptions page may be tough to look at with all the bright blue/red buttons.
And tests fail of course, nothing fixed there to get initial feedback before committing to those layouts.