CTFE: run semantic on global variables

Only seems to happen with forward-referenced globals, for example:
const int c23 = b23 * b23;
const int a23 = 1;
const int b23 = a23 * 3;
Do all interpreting inside CTFE

instead of in the optimizer
Entirely remove WANTinterpret from the compiler

It is no longer used.
CTFE: always create a global stack

We always need a stack when evaluating global initializers. It is
needed by declarations in comma expressions, and also things like __dollar.
CTFE: Pass number of variables when entering a frame

Does not actually do anything with the parameter yet