Added char, unsigned char and float

I fixed a parsing bug where it accepted the use of undeclared identifiers.

I really should make types.c/txt a comprhensive test covering
almost every conversion with a mix of argument, assignment
and general expression conversions.  It's just kind of boring so
I'll get to it later, maybe.