Limit var definitions to `:root`

* Only process and replace variables defined in `:root`.

* Make sure removal doesn't affect normal rules.

* Throw an error when variables are defined in @blocks like @media and
  @supports (needs more thought about how to support this use case).

* Explicit explanations of the use and limitations of a CSS preprocessor
  implementation of variables. Aim to only provide support for the
  features we can implement without breaking native CSS variables.
Release 2.0.0