Add validate-element-location rule that ensures elements cannot appear as children of parents they're not allowed to descend from. Closes #10.
Merge branch 'element-position'