setElementPrefix does not trigger repaintNeeded() from the svg object;
repaintNeeded() is for internal changes. if you change the svg from your
own application code, the app code needs to react to those changes in its
own time and way.
so margins was never seeing that it was getting changed when setElementPrefix
was called -> pixel imperfections in layouts.