Added pugixml submodule
Changed code structure to be more lib friendly