---
Remove the routine of handling isolated nodes in Renormalize.
Add isolated nodes from Parser&Resolver.
Modify isolated nodes handling in FG&Manager.
Optimize the renormalize routines.
Other optimizations.
The basic idea is: exploits data dependency to control the execution order
of side-effect operations, and keep the semantics of ANF unchanged.
The ControlDepend primitive is removed and there are two primitives added:
1. UpdateState:
```
a = Assign(para, value)
```
became:
```
a = Assign(para, value, u)
u = UpdateState(u, a)
```
2. Load:
```
x = Add(para, value)
```
became:
```
p = Load(para, u)
x = Add(p, value)
u = UpdateState(u, p)
```
if funcgraph or metafuncgraph call it recursively, then anf_node should be used as tracking_id to discriminate the first occurcance and the
recursive occurance.
add anf_node to PrimitiveAbstractClosure hash() to reduce cost of GetEvaluatorFor().
ignore the tracking_id to make cse work.