With KEY and EMIT being switch words, most of the high layer can
be defined before drivers.
In addition to this change, I've compacted core blocks which were
becoming quite sparse.
The few extra bytes they save in the core aren't worth the extra
complexity. This was initially done in a context where I had
troubles keeping the RC2014 binary with SDC inside the 8K limit.
At this point, even with the few extra bytes we add here, we're at
7200 bytes, so I'd say we're fine.
This duplicated feature existed because of bootstrapping issues
with LIT", but again, with careful threading, we can clean things
up.
We can now have a proper "Collapse OS" prompt :)
I'm not sure why I chose null-terminated initially. Probably because
the z80asm version had null-terminated strings.
Length-prefixes strings are the traditional form of strings in Forth
and it's a bit easier to work with them with traditional forth words
when they're under this form.