Implemented MacroCollection and finished MacroFileParser.
Implemented applying a declaration in Macro.
Removed unused import in MacroFileParser.
Added more events.
Added MacroListener, which is the highest level of abstraction on the whole macro process.