Attached a patch that removes all NRE duties from TEBC: it is a relatively big redesign of the NRE main loop.
The original NRE implementation has TclNRRunCallbacks (TNRRC) and TEBC work in tandem, working hard to reuse TEBC instances. The design is at the root of a very complicated logic flow within TEBC and elsewhere.
This patch removes the special NRE status from TEBC. The main advantage is that the logic is much simpler (both within TEBC and elsewhere), leading to enhanced maintainability.
I would appreciate more thorough testing (and perf impact estimates?) before committing this patch.