Be able to change the way ComputedStyle fields are grouped in CSSProperties.json5

Issue description

Currently, there are groups of properties that are not directly stored in ComputedStyle but are stored instead as pointers to dynamically allocated instances. For example, the class StyleBackgroundData contains fields representing all background information. This is so that multiple elements can save memory by sharing the same instance of StyleBackgroundData if they have the same background properties.
shend@ is working on generating the groups of properties together as a whole (e.g. here). In the future, we would like to be able to change the way that properties are grouped.
Design doc here: https://docs.google.com/document/d/1dSQCX54G3sGKYXNRazq_O4bRNhhgjR_MKENbO19qCIU/edit?usp=sharing

This is done.
Accessors for all fields have been generated.
No diff function depends on properties being on a certain group.
diff functions are now generated from a JSON file.
For any further questions please raise a bug or email shend@chromium.org and nainar@chromium.org.