Храните в отдельном месте настройки по-умолчанию. Для пользователей храните в json/xml виде только отличающиеся от дефолтных настройки. Суммарные настройки пользователя получатся путем наложения отличающихся на настройки по-умолчанию. Таким образом при добавлении новой настройки изменится только один конфиг — общий, и тем не менее он будет доступен у пользователя. А при изменении пользователем такой настройки измененное значение запишется в его личный конфиг.
А это вообще реально? Что у инлайновых, что у блочных элементов граница — прямоугольник. А элементов с многоугольной формой нет. Если только на canvas/svg рисовать