Correct XML smart indenting for multi-line tags

Added state.tagIdent that gets set when the tokenizer goes into inTag.
In turn this is added onto the context when pushContext is called.

This is then used as the reference for subsequent tags' indenting rather than context.indent.

Imagine if you have indentUnit:4 and your XML style is that if you continue a tag across multiple lines, you indent the subsequent lines by two indentUnits (until the tag is closed).  When you then press ENTER after closing your tag1, context.indent would be 8 and therefore the new tag starts indented at 12.

<tag1 attr1="foo"
        attr2="bar">
            <tag_starts_too_far_idented_at_12>

Whereas using the tagIndent as the base, that was set at 0 when <tag1 was encountered, you get the correct indentation:

<tag1 attr1="foo"
        attr2="bar">
    <tag_starts_idented_at_4>