MacroDefine support

UniversalElementFactory provides supports to define a macro to reuse the definition. Take the following Macro Definition for example:
<macroDef id="myMacroDef">
	<string value="_value"/>
</macroDef>
To reuse this definition, you can define a macro instance:
<macro id="myMacroInst" macroDef="myMacroDef" _value="Value"/>

This definition equals to <string value="Value"/>