Css style split
This implements an idea that has been discussed on and off for a while:
Split the values in GtkCssStaticStyle in related groups, and put them into refcounted structs that can be shared with parent styles or initial value singletons. In particular, we can have a fast path for totally empty lookups.
Here are some numbers:
8535 lookups 65.20% empty
core 79.71% shared
background 79.87% shared
border 77.63% shared
icon 89.16% shared
outline 90.30% shared
font 89.90% shared
font variant 99.65% shared
animation 99.96% shared
transition 92.51% shared
size 76.94% shared
other 97.59% shared