Switch to using freestanding (as opoosed to hosted) compilation of

This should help with the errors we occasionally get for having our own stdint.h that may differ from what clang thinks it should be.

Halide runtime. This allows using clang's built-in stdint.h and
stdarg.h.

Switch variable argument calls to use va_ from stdarg.h rather than
__builtin_va_... per above change.

Switch all runtime uses of WEAK macro to get it from a new
runtime_internal.h file that includes stdint.h and stddef.h and
defines WEAK.

A few small formatting fixes.