Use the Domain specific to the frame for evaluation contexts

One thread can be executing code in many domains, we need to use the one specific to the stack frame for evaluation contexts.

This patch uses the new StackFrame.Domain when possible, or falls back to a less direct way.

This patch is licensed under the MIT/X11 license.