Fixed template completion not triggering at end of partition

The structured template partitioner needed to implement IDocumentPartitionerExtension2 to allow for "open partitions" (similarly to how the template partitioner for the older template editor did).
TemplateRegionParser properly interfaces with XML region parser.

There was an issue before where If scala code would occur within an "xml tag name" (i.e., as an attribute value) and if there were more attributes that followed after the scala code in the tag, the xml parser wouldn't pick back up where it left off, which meant it would parse the remaining text of the tag name as plain "xml content". This issue is now corrected.

The TemplateRegionParser was largely rewritten such that it now
	1. Parses the document as if it were all html (using the html region parser).
	2. Tokenises the document using the play2 template tokeniser.
	3. Then finds the text regions in the html parse that overlap with the scala tokens from the play2 parse, and inserts the scala tokens into the html parse tree and (removes/alters the original html regions as appropriate).