A special version of crate::Executor which provides finer-grained control over execution,
and captures a ton of information about the program being executed, so as to make it possible
to introspect everything about the program and the state of the VM at a given cycle.
This is an implementation of Host which is essentially miden_processor::DefaultHost,
but extended with additional functionality for debugging, in particular it manages trace
events that record the entry or exit of a procedure call frame.