This is necessary since we do the new caching and need to distinguish between styles with different IDs. Fixes various test cases.
GtkCssNodeDeclaration is a new struct with copy-on-write semantics. It encapsulated the properties used to define a node in the CSS tree. The idea is to use it in various places for caching, in particular as key in hash tables.