remove previous naive dependency analysis for for and while loops
previously, I thought use a naive dependency analysis to solve the
problem in merging different shape or range value info in loops,
but it turns out that a naive dependency analysis is not enough or
even introduce more bugs, so I use a counter-like variable to track
down how many times a shape or range value been merged, if the times
hit some magic number, let's say 5, the analysis push the shape or
range value to the top in their domains.

P.S. we should always be careful when adding features to the
analysis framework (also the other two core stuffs, parser and McSAF).