(#496): Ensure all lengths and angles parse as finite numbers

The example crasher, found via fuzzing, yields an <svg width="BIGNUM">
which rust-cssparser puts as an Infinity in an f32 value.  This ends
up being in a non-invertible Cairo matrix, which panics.

We need to catch all such cases early, so we run all parsed numbers
through finite_f32() right as they come out of rust-cssparser.

Thanks to Bastien Orivel for the fuzz-testing runs!

Fixes https://gitlab.gnome.org/GNOME/librsvg/issues/496
parent 2205cd8c
Pipeline #105513 failed with stages
in 8 minutes and 46 seconds