This patch enables us to use the existing libc support for string
conversion functions on the GPU. This required setting the fenv_t and
long double configuration. As far as I am aware, long doubles are
converted to doubles on the GPU and the floating point environment is
just an uint32_t.
This code is still untested as we are still working out how to run the
unit tests on the GPU.
Nit: given the precedent of putting a comment with a link to the relevant documentation above, it would be nice to have a link to the AMD or Nvidia documentation saying they use long double as double.