refactoring: add & use .bg-variant() mixin

Introduces a `.bg-variant()` mixin, and refactors the Less for the contextual background classes accordingly.
The resulting CSS is unaffected.