unify stack implementations

Graphviz contains a number of inline implementations of a stack data structure:

  • initStk implementation duplicated in at least five places
  • SFIO's sfstack
  • cgraph's gstack_t
  • cgraph's save_stack_t
  • rbtree's stk_stack
  • ortho's stack
  • sparse's IntStack
  • circogen's nstack_t
  • cricogen's estack
  • tred's estack
  • sccmap's stack
  • gxl2gv's ad hoc Gstack

I have not analyzed how much these overlap, but I hope we can all agree this is more stack implementations than we would like to maintain. As a first step, de-duplicating all the initStk copies would be progress. I have not yet investigated which is the best target library to merge them into.