Changes in float-family conversion infra
Changes in float-family conversion infra

Summary:
Different frameworks use different kinds of floats, optional floats, and floats with assigned unit names. All those approaches use different ways to represent undefined and empty values. To deal with it we need to have some helper functions.

So, this diff changes some ways that we convert some corner values (like NaN and empty value). That change is motivated by recent personal discoveries in this field that shifted my vision on that. E.g. ComponentKit does not use `CGFloatMax` value as `Infinite` value. UIKit is also (surprisingly to me) okay with using `Infitite` instead of `CGFloatMax`. And, in general, seems using really conceptually appropriate values (instead of UIKit-inspired ones) it's the right thing to do.

Reviewed By: mdvacca

Differential Revision: D15155189

fbshipit-source-id: 33e15141f1ca3efb400a7160811224335de34ba1

pandiaraj44/react-native,janicduplessis/react-native,exponent/react-native,pandiaraj44/react-native,javache/react-native,facebook/react-native,facebook/react-native,hammerandchisel/react-native,exponentjs/react-native,facebook/react-native,myntra/react-native,pandiaraj44/react-native,pandiaraj44/react-native,hammerandchisel/react-native,hammerandchisel/react-native,exponent/react-native,janicduplessis/react-native,janicduplessis/react-native,javache/react-native,javache/react-native,arthuralee/react-native,myntra/react-native,exponent/react-native,exponentjs/react-native,exponent/react-native,pandiaraj44/react-native,hammerandchisel/react-native,hoangpham95/react-native,myntra/react-native,arthuralee/react-native,exponentjs/react-native,hammerandchisel/react-native,exponent/react-native,javache/react-native,myntra/react-native,pandiaraj44/react-native,myntra/react-native,exponent/react-native,myntra/react-native,pandiaraj44/react-native,facebook/react-native,janicduplessis/react-native,arthuralee/react-native,hammerandchisel/react-native,javache/react-native,exponent/react-native,exponentjs/react-native,hoangpham95/react-native,hammerandchisel/react-native,hoangpham95/react-native,hoangpham95/react-native,myntra/react-native,hoangpham95/react-native,hoangpham95/react-native,janicduplessis/react-native,facebook/react-native,facebook/react-native,facebook/react-native,hammerandchisel/react-native,myntra/react-native,janicduplessis/react-native,facebook/react-native,arthuralee/react-native,arthuralee/react-native,javache/react-native,hoangpham95/react-native,pandiaraj44/react-native,javache/react-native,exponentjs/react-native,janicduplessis/react-native,myntra/react-native,exponentjs/react-native,hoangpham95/react-native,javache/react-native,exponentjs/react-native,exponent/react-native,janicduplessis/react-native,exponentjs/react-native,facebook/react-native,javache/react-native