Setup float interpolated strings with additional attributes
Fix VM test for String#to_f
Import double-conversion library for replacing libgdtoa

This library is faster and doesn't need locking inside it to keep it
consistent. double-conversion is an extraction from v8 and is also used
by Mozilla for their javascript engine.

Before:
=== bin/rbx ===
float#to_s for small float
                      4753324.6 (±6.6%) i/s -   23682165 in   5.006828s
float#to_s for big float
                       183461.4 (±1.6%) i/s -     921690 in   5.025304s

After:
=== bin/rbx ===
float#to_s for small float
                      5695523.1 (±3.6%) i/s -   28391379 in   4.992698s
float#to_s for big float
                      3440970.1 (±2.3%) i/s -   17208811 in   5.004030s
Remove now unused libgdtoa
Reduce cases where we need to access native method environment

This was we prevent the fairly slow thread local mechanism from pthreads
by using internal vm structures where possible.
No need to finalize if the IO is closed

The fd is -1 if we already closed the IO, so no need to do anything else
at that point then.
Move auto closing behavior into options

This makes sure we setup this property for the process that actually
forks. This combined with the previous commit should fix the sporadic
Process.spawn spec failures that were caused by race conditions.