Support @supports

http://dev.w3.org/csswg/css3-conditional/#at-supports

-This is implemented as a conditional rule like @document.
-I had to modify declarations as it assumed a declaration was always in a ruleset. This is no longer the case.
-I had to play around with how whitespace is defined to differentiate "not", "or", and "and" from IDENTs. The result is that these strings are no longer valid IDENTs, which from testing  with the validator, appears to be correct.