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.
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.