add template Pass
use static name instead of Rule instance
add myparser_pass.hpp
simplify and fix class PassMgr and Pass
modify
merge PassMgr into Pass itself