Fixes parsing expressions so it does not break selectors parsing.
Adds longer escape markers to speed up searching.
Adds CSS tokenizer which will make it possible to further optimize content by reordering and/or merging selectors.
Adds basic optimizer removing duplicate selectors from a list.
Adds removing duplicate selectors (same body) within the same scope.

* Always preserve the last one as it overrides previous ones and intermediate overriding.
Adds merging duplicate properties within a single selector's body.

* Skips merging if two properties declared one after another, e.g. display:inline-block;display:-moz-inline-box;
* Respects !important when merging.
Adds merging adjacent selectors within a scope (single and multiple ones).

* Merges properties inside merged selectors too.
* Adds merging two adjacent properties when merging selectors.
Changes behavior of `--keep-line-breaks`/`keepBreaks` option to keep breaks after trailing braces only.

* Old behavior allowed line breaks within selector, like 'a\np{}'.
Makes all multiple selectors ordered alphabetically (aids merging).

* Thus 'p,a{}' becomes 'a,p{}' which is semantically equivalent.
Adds merging adjacent selectors if body is the same.

* Skips if selector is vendor specific, i.e. matches /-(moz|ms|o|webkit)-/.
* Will not merge selectors if one selector may not be supported, e.g. :nth-child, :last-child, etc. - configurable via `--selectors-merge-mode/selectorsMergeMode` option.
* Defaults to merging all selectors so `ie8` mode needs to be forced via mentioned options.
Refactors property merging into a separate Optimizer singleton.
Adds property overriding so more coarse properties override more granular ones.

* E.g. 'border-top' overrides 'border-top-width' and 'border-top-color'.
* Another example is 'margin' overriding 'margin-(bottom|left|right|top)'.
Adds reducing non-adjacent selectors.

* Removes repeated properties in same selectors which are not next to each other.
* E.g. '.one{color:red;margin:0}.two{color:#fff}.one{margin:1px}' will become '.one{color:red}.two{color:#fff}.one{margin:1px}' because margin is repeated.
Adds `--skip-advanced`/`noAdvanced` switch to disable advanced optimizations.
Adds ignoring misplaced top level curly braces.
Adds reducing non-adjacent selectors when overridden by more complex selectors.

* E.g. "strong{color:red}.one,strong{color:#fff}" can be reduced to ".one,strong{color:#fff}".
* Fixes property optimizer when body is empty.
* Fixes property optimizer with merging on joins.
Improves property overriding & redefining algorithm.

* Handles redefining overridden properties.
* Treats -ms-filter/filter as a background / background-image property.