feat!: improve tree-shaking of `Perimeter` by tbouffard · Pull Request #785 · maxGraph/maxGraph

@tbouffard

Previously, `Perimeter` was a value object. So, most bundlers included the whole object even if only some values was
used in the application (i.e. the only perimeters registered in StyleRegistry).
Notice that some bundlers, like Rollup, was able to only keep the values effectively used by the application.

`Perimeter` is no longer an object, but a namespace, so all bundlers should now able to only keep the perimeters really
used by the application.

BREAKING CHANGES: `Perimeter` has been changed from a value object to a namespace. This has minimal impact for most applications that only read perimeter values.
The only breaking change affects applications that modify Perimeter properties (add/update/remove values): this is no longer possible.
Instead, create your own perimeter implementation and register it.