Improve selector skipping logic by skipping pseudo elements

Also catch another error that Nokogiri can raise when given "bad"
selectors.
Extract a Selector class
Extract more selector code into Selector
Selectors can be compared for equality
Always output selector in a warning on errors from selector lookup

This should aid with debugging problematic styles where the style itself
isn't visible inside the error (which is often!).