Be explicit about how stop-color and stop-opacity are inherited
These can live in the <stop> element attributes, or in its style="..." attribute. Neither of them inherits by default; they have to be explicitly specified as "inherit" to do that. Inheritance is from the gradient's parent element, not from where it is referenced, hence the call to rsvg_state_reconstruct(). Also, stop-color can be currentColor. We now have explicit enums to indicate all of these cases. Previously, all the meanings were overloaded into state->has_stop_color and state->has_stop_opacity, and those didn't handle all cases correctly. Added the hexchat.svg icon to the tests, which is how I caught the lack of proper handling for style="stop-color: ...;".
Showing with 138 additions and 32 deletions