engine: Refactor to a multiton via an engine factory

Although we currently only have a Ptrace engine.