Support only-child and first-letter pseudos, closes #49