Added terminal_writenum interface for debugging

Now that I think about it, I'm not that impressed with those names. I'd
change them, but I think that that entire section will change later on
so I won't bother.
Initial implementation of terminal_writenum

Preliminary implementation. Tests to come (this code needs it), as soon
as I come up with a good way of testing the terminal functions.
It doesn't even build

That's what I get for making commits late at night. If there were anyone
else who actually needed this code, I would have just broke the build.
(It still doesn't build, because of a linker error)
Swap to gcc for now (again)

clang is having linker errors and I don't really feel like tracking them
down right now.
Pulled out number to string transformation code

Phase one in my plan to morph that code into a form that's easier to
test
Setup now builds libgcc as well

It didn't work before because gcc does not like being built from within
its source directory... I'm not going to lie, that not working doesn't
exactly give me a good impression of the gcc team. While it's possible
that I just picked up a weird expectation of how things should work from
somewhere (FreeBSD?), I sort of expect that I can unpack their source
tarball, cd into the directory, and just build it.
In any case, I updated setup to reflect the new procedure for building
binutils and gcc.