BUGS:

 - lexer doesn't impose limits on identifiers, this could lead
   to buffer overflows.
   So there are a bunch of strcats and sprintf's, some of them
   marked XXX, that are unsafe.

 - IMCC does produce b0rken PASM files, when compiling .imc source
   files with duplicate local labels.
