is-modern and is-not-modern browser support classes

Until a few days ago, a browser that did not cut the mustard was put in the "js-off" bucket. Modern browsers were in the "js-on" bucket.

We are introducing a new tier of support.

### Before

- `html.js-off`: browser has JavaScript switched off / does not support JavaScript
- `html.js-on`: browser cuts the mustard

### After

- `html.js-off`, aka `html.js-off.is-not-modern`: JavaScript switched off or browser does not support JavaScript
- `html.js-on`: JavaScript is switched on (and browser might or might not cut the mustard)
- `html.js-on.is-not-modern`: JavaScript is switched on, but browser does not cut the mustard
- `html.is-modern` aka `html.js-on.is-modern`: browser cuts the mustard

### On x-browser testing

To test rendering in older browsers without opening IE8, Safari on iPad 1 or Opera Mini, it's no longer enough to turn off JavaScript in developer tools, and we would need to actually test on a browser that has JS on, but does not cut the mustard. This comes in the way of fun and productivity.

I think the solution is a user preference switch that forces the "is-not-modern" state. /cc @ironsidevsquincy @phamann @sndrs what do you think?

![ ](http://gifs.joelglovier.com/high-five/awkward-high-five.gif)