optimize normalize_itext

http://manage.dimagi.com/default.asp?123086

@dannyroberts @czue @millerdev 

Final profile results: http://pastebin.com/SwTVEXeB
The following comment is a general observation not directly related to this PR.

One side affect of this render/parse encoding mismatch is that UTF-8 encoded characters will be converted to their XML character references during a parse/render round-trip. Also, XML documents that are properly encoded as anything other than ASCII or UTF-8 (example, Latin-1) could fail to parse. See this note on the *encoding* parameter in the [`XMLParser` documentation](https://docs.python.org/2/library/xml.etree.elementtree.html#xml.etree.ElementTree.XMLParser): "If given, the value overrides the encoding specified in the XML file.