Dynamic modules / module "aliasing"

I am slowly working on a core rewrite of the Double library for this purpose, so it can be used as a drop-in for Mox and allow folks the tools to slowly introduce behaviours and mocks

The code is dense and in the middle of a refactor, but if you’re interested, I’m taking a somewhat similar approach, at least in the defmock side.

https://github.com/petermueller/double/blob/add-defmock/lib/double.ex