No varargs

This removes all use of varargs from the halide_runtime, with the exception of calls to android and ios logging functions. This solves nacl linking issues and some windows mess (e.g. we couldn't print floats properly on windows).

Ready for comments.
Same comment re: printing code itself to debug. Note that the old code printed the pointer and size of the code, but not the actual code itself. If we ever re-introduce the SPIR target, it will actually be necessary to have the behavior of the old code (the SPIR program is not a string). I think it makes more sense to dump the program code from the compiler with HL_DEBUG_CODEGEN > 0.