Issue #491 check for invalid CSS on user typed custom filters

I've put together a system for checking custom typed filters for valid CSS selectors.

The solution I chose is a little hacky (checks whether the selector could be used with querySelectorAll and then whether the selector with a blank attribute could be inserted into a test document), but it seemed like the best solution in terms of covering a wide range of css errors while adding minimal size (most CSS parser libraries I looked up were around 100k)

The fix adds 20 tests to qunit, I've also compiled the code and tested all of the contained test examples in the actual chrome extension.
This will create new DOM and style tag for every filter we test, which is rather inefficient. So how about changing `validFilter(filter)` to `validFilters(filters)` where `filters` is an array of filters that are tested with the same style element?