Remove legacy CSS rules + fix some of new rules incorrectly translated from legacy ones

TBR: @terrylucas Could you please pay special attention to how I translated `::content`? I'm not completely sure I've got that part right. As to `:host` support, it turns out that Dartium and Chrome require different syntax at the moment: see https://github.com/dart-lang/spark/issues/733.