Make custom strtod work for denormal numbers and some boundary cases [ci skip]