Optimizer

@etcinitd a base infrastructure for the optimizer by AST rewriting, with some strategies already.