Keep variable_index_offset and current_variables synchronized.

According to the comments current_variables is just a shortcut
for current_object->variables + variable_index_offset. But as
a matter of fact variable_index_offset is only correct at the
beginning of an external call. After that in same cases only
current_variables is updated (the control stack only saves and
restores current_variables, not variable_index_offset).
This patch now keeps them both synchronized.
Adjustments for variable closures.

The index for variable closures are given relative to the
current program's variable block (including virtual variables),
but current_variables points to the non-virtual variables now.
This patch makes to required adjustments.