Just clarified for myself why `subx translate` and `subx run` need to share
code: emulation supports the tests first and foremost.
In the process we clean up our architecture for levels of layers. It's
a good idea but unused once we reconceive of "level 1" as just part of
the test harness.