trace off by default
big refactor: split retain and return stack, add more words

return stack also contains current thread start address for recursing and
(later) debugging purposes