Support odd but valid semi-colons in rulesets

http://www.w3.org/TR/CSS21/grammar.html

A ruleset is:

```
ruleset
  : selector [ ',' S* selector ]*
    '{' S* declaration? [ ';' S* declaration? ]* '}' S*
  ;
```

Therefore these are all valid:

```css
a { background: red;; color: blue; }
a { ; background: red; }
a { background: red }
a { ; }
```

[Validator results.](http://jigsaw.w3.org/css-validator/validator?text=a+%7B+background%3A+red%3B%3B+color%3A+blue%3B+%7D%0D%0Aa+%7B+%3B+background%3A+red%3B+%7D%0D%0Aa+%7B+background%3A+red+%7D%0D%0Aa+%7B+%3B+%7D&profile=css3&usermedium=all&type=none&warning=1&vextwarning=&lang=en)