[WIP] Support ::nth(n), ::first, ::last pseudo selectors (fixes #842)

Known limitation: you cannot write something like `div > p::last > ul::first` because cssselect doesn't support non-terminating pseudo elements