Parse YAML to serde_json::Value, converting large numbers to f64 to avoid overflow.
serde_yaml 0.9 cannot represent integers exceeding i64/u64 range (e.g. numbers > 2^64),
so we preprocess the YAML to convert such numbers to float notation, then go through
serde_yaml::Value and convert to serde_json::Value manually.