This patch adds the initial support required to support basic priting in
stdio.h via puts and fputs. This is done using the existing LLVM C
library File API. In this sense we can think of the RPC interface as
our system call to dump the character string to the file. We carry a
uintptr_t reference as our native "file descriptor" as it will be used
as an opaque reference to the host's version once functions like
fopen are supported.
For some unknown reason the declaration of the StdIn variable causes
both the AMDGPU and NVPTX backends to crash if I use the READ flag.
This is not used currently as we only support output now, but it needs
to be fixed
Since most of the usage of this constexpr function is kind of double-negative form if ( !buffer_disabled() ), I think it is better to define this as a static constexpr member of class File, and change the name to positive form like File::USE_BUFFER, File::ENABLE_BUFFER or something like that.