compiler.cfg: fix some help-lint warnings.
curses: Add some more api calls. Allow a getch that doesn't throw on errors because you need it for window resize.
curses.ffi: on some linuxes, libncursesw.so is a linker script so find-library is needed to find the real elf file
elf: only open file for reading
tools.gc-decode: vocab for reading words gc maps
vm: add the gc-info struct
tools.gc-decode: Fix docs.
xml.writer.tests: use temp-file instead of assuming resource: is writable
see: disable string-limit? when setting margin to zero.
formatting: specify integer instead of fixnum as bignums are supported.
compiler.cfg.dataflow-analysis: generic for configuring the "block skipping"

To accurately record uninitialized/overinitialized stack locations,
kill blocks needs to be analyzed. Now you can make it so by overriding
ignore-block?.
compiler.cfg.stacks.vacant: compiler pass replacing uninitialized for more accurate stack maps

This pass uses a better algorithm for keeping track of all stack
manipulations which means that the stack maps it assigns are much more
precise.
compiler.cfg.stacks.vacant: fix usings and remove commented out code
compiler.cfg.stacks.vacant: sub docs seeded with a stolen comment from uninitialized.factor
compiler.cfg.stacks.vacant: more docs and removed usage of byte-arrays
compiler.cfg.instructions: added check-d and check-r slots to gc-map

the data is output from compiler.cfg.stacks.vacant in a reasonable
format but not yet used for code generation.
compiler.cfg.stacks.vacant: invert meaning of 0/1 for overinit:ed locs to make some logic simpler
compiler.codegen.gc-maps: check-d>> and check-r>> now used in the code generator

the approach looks sound and now the gc can be fixed to take advantage
of the extra info.
compiler.codegen.gc-maps: the gc-map-needed? word can be called with f
tools.gc-decode: update vocab to match gc-map changes