Optimize performance of buildArgumentMaps

buildArgumentMaps is a core rendering function. It creates a list of
argument maps for each invocation of the node function. It used to
create a full data structure in memory, causing lots of allocation.
Now, we return an Iterator that builds arguments maps on-the-fly.