"Force runtime" when generating runtime functions.

This is important since otherwise we'll take into account the values of
global variables when evaluating the block, but the same runtime function
may be re-used later in the program when those global variables have
different values, leading to a different expected outcome.

Function calls that can be resolved completely at compile time remain
able to make use of global variables. This new behavior kicks in only
if the function can't be completely executed at compile time.