props: margin: implement new css variable based system
instead of relying on the sass to generate a few hardcoded
classes for consistent padding, have one class in css (for each
side/axis) and use a css variable for the factor to multiply
advantages are that we now have 'unlimited' margin levels
but depends on css variables.
for that to work, we now require the struct to also implement
`AsCssStylesMut` so we can set the variable value in the style directly