Start sprintf functions

Printing string, character, signed and unsigned decimal, octal, hex,
and pointers works. Printing floats is not yet implemented.
BUG: %n segfaults
Switch to a cross compiler (should have done this long ago)
Implement printf

Fixed %n bug - you can't pass a va_list to another function once you've
called va_arg.