Convert selectors to W3C like to try QSA better

Some selectors have equivalent W3C counterparts, such that ":button" can
be mapped to "button, input[type=button]", and ":checkbox" can be mapped
to "[type=checkbox]". If we take this kind of conversion before calling
QSA, we may have more chance to take the advantage of performance boost
by the native DOM QSA. This patch is to add such an engine to facilitate
the conversion.