Fix generation of relocatable PRGs for good.

- Make sure the header is at the start of the file (duh)
- The s__* section start symbols generated by asz80 are not relocatable,
  so define our own labels at sections start for gsinit to work.
Add missing files.
Hack to free more heap space.

The INITIALIZER section would be in ROM and be copied to INITIALIZED
(in RAM) on startup on an usual system. Since we run everything from
RAM, this is a bit pointless, but there doesn't seem to be a way around
it in SDCC.

Anyway, we can at least reclaim the space wasted by INITIALIZER and add
it to the heap. This will allow some more bytes of RAM to be used for
programs, and make it easier to keep Contiki core under 16K, which will
be useful when we introduce memory banking.
Redirect putchar to the parallel port.

* The screen is used by conio,
* First step towards getting rid of the firmware.