vt: minor fixes and a temporary hack

We have overlapped input/output so should use memmove - just we don't yet
have a memmove in all our support code - botch it for now

Add support to start on a different line (eg below boot rom info)

Allow a mapping function for simple mode (eg for Petscii and for 6809
boxes with the 6847)
decbdragon: Turn the DECB stream into a set of ROM images
6809: add mulhi

We need this for load average computation
dragon: do char mapping in the right spot
dragon: correct config.h, turn on new vt features etc
dragon: remove dead bits, add vt mapper function
dragon: Build the rom images not just fuzix.bin
dragon: 64K RAM not 96K
dragon: rewrite the setup code

We load the first ROM with an unpacking routine and all the data. On boot
it sets up the SAM (must be done from ROM), the PIAs and then says hello,
clears memory and moves all the RAM objects from a DECB stream we add
into the ROM image.

With that done, it flips to the second ROM which together with the
cartridge mappings gives you a high 32K for kernel code, although it has
to be split using text1/text2 as we must stuff the exception vectors into
0xBFF0-0xBFFF - so double check the fuzix.map
dragon: update crt0.s to allow for the work done in setup and the switcher
dragon: Update the link map
Makefile: split video/videodata on 6809 as we are ROMming video

Also add the new tools

With this lot done the Dragon builds and gets to the bootdev prompt pending
writing some actual drivers.

Still lots of other stuff busted - time_t is 32bit and needs fixing up
really, syscall and irq are not really done at all. Endianisms - who knows 8)
dragon: update the instructions