Modernizr/Modernizr — pull request #821 by stucox (2013-02-19 23:54:37+00:00)
Title: First crack at an attempt to use `CSS.supports()` internally (#818)

*Just submitting this pull request into a new `supports` branch, which we could use to make everything all, er, `supports`y*.

See #818.

I've added a function called `nativeCSSDetect()` (which does the work) and a couple of examples in the form of the `flexbox` and `flexboxlegacy` tests. These give the correct results using the native API in FirefoxAurora and Opera 12.14 and give the correct results using normal feature detection in Chrome.

Notes:
* The function currently only supports the `f(prop, value)` interface, not the `f(any old condition string)` interface, because the former seemed much more useful
* It also takes 2 additional Boolean args to specify whether or not to test all prefixed variants of the property and value respectively
* I've put in a fallback to the at-rule, because Opera 12.14 only partially implements the JavaScript API (the part the implemented would have been fine for this actually, but hey)
* I expect we'd actually want to integrate this with `testAllProps()` / `testProps()`, so for most tests we can just extend them to e.g.:

```javascript
return testPropsAll('flexWrap', 'wrap');
```

I'll have a go at a version integrated into `testAllProps()` and `testProps()`. Early feedback very welcome.