Stack original var values, allowing for reentrancy.

UIDataAdaptor has a save and restore mechanism when setting up the current iteration context in context variable. However, this simple backup is not sufficient in cases of reentrancy (for instance, visiting the component tree while broadcasting events).

Using a stack to backup the original variables solves this problem.