Settings: Port more settings code

Everything but compilation & margin
is now fully ported.
Lint: Unify all invocation code

Linters are now completely DRY & well-factored
Margin: Clean up SvgMargin

This now reflects the proper
way that margins should work.

It may still change a bit when I
extract the compilation code.