hooks/fancy: call handle_output_{create,destroy} from print_stack_{push,pop} and check for falling edge properly.

This fixes behavior when report_fail is misused and called with empty stack, falling back to report_err.