(Issue 217) Advanced CSS support.

(Ported from patch on googlecode)

This adds advanced CSS support using `Element.matches` (or prefixed `Element.matchesSelector`) where available, with [Sizzle](http://sizzlejs.com/) as a fallback for older browsers.

I'm noticing a lot of line-ending noise - maybe the instructions from [this article](https://help.github.com/articles/dealing-with-line-endings/) would help?