Implement sqrt using the sqrtf(). This enables Clang to replace it
with llvm.sqrt* intrinstics in case looser math flags are used to
build the builtin library.

__builtin_sqrt() is not replaced as intrinsics this way for some reason.
TODO: fix this in Clang.
tce: Disable the support for NaNs when building the kernel library to
e.g. generate llvm.sqrt* intrinsics from sqrt() (instead of a math lib
call) which allows us to replace it with a call to sqrt HW operation selectively.
tce: do not use --vector-backend by default.
Clang does not recognize __builtin_sqrt* in CGBuiltin.cpp (around line 1285)
to be a call to sqrt and cannot selectively convert it to the llvm.sqrt.*
intrinsics with looser math flags. Therefore we have to call it as a libcall
so it regonized it. For the double we still call the __builtin_sqrt() to
disambiguate from the sqrt() to avoid infinite recursion. Probably the
correct fix is to patch CGBuiltin.cpp to recognize also the call via
__builtin_sqrt*.