Special keyword nodes should now be used by placing all appropriate
nodes as children of that keyword node for example:
<fh:before android:id="aWidget">
<Button ... />
<TextView ... />
</fh:before>
All keywords are handled within comments, thus allowing IDEs and other
tools to parse the refinements without issues because of unrecognisable
XML nodes. Just as before, all nodes that require being placed before or
after a node are within the keyword. To handle this we have to say when
a comment starts and ends for example:
<!-- @start fh:before android:id="aWidget" -->
<Button ... />
<!-- @end fh:before android:id="aWidget" -->

Current implementation is not perfect, but will do for now. May need
looking at if other comments could problems.
Since the XMLComment only really is for the hooks, we should probably
change the name to reflect this.
Reference changes.
Code cleanup:
two global vars not needed anymore
altered logic for hooking keywords.