complete constant folding and fix bugs

完善了常量折叠，增加了变量类型（const var和var），当然还是模拟，但看起来不那么敷衍了。(´･_･`)