Added classes

[Non-working code] Added classes, to clean up code that handles that
parse tree
Moved variables to processor.

Also wrapped everything in a function to prevent global pollution and
added processor tests. And some other stuff.
Parser 2.0

New and improved parser implementation takes a big step towards
actually preserving the hierarchy, and utilizes the new classes for
cleanliness.
New variable tests

Now all the tests pass!
Expressions in Variables

Variable declarations can now contain expressions.
Scoped Variables.

Variables can be declared inside of a selector.
Runtime modes

A new runtime modes system allows for more descriptive control over how
and when each property is calculated. Also fixed the property parser to
handle expressions in multipart values.
Disabled variable unit changes.

Also cleaned up the expression parser a little bit.
Module classes

Modules aren’t just random floating objects anymore, now they are
instances of simple classes that allow for more syntax flexibility and
standardize some of their properties. Also switched modules to use mode
instead of dynamic/individualized properties. Got rid of color units
because really what is the point of that?
Cleanup pass

Some cleanup to mark the finish of the new Parser and prepare to update
the processor for the new structure.
Updated Processor + Tests

The processor finally has tests! It has also been updated to work with
the new parser and modules.
Actualizer Rewrite) Regrouper

Beginning of the a actualizer that generates only 1 CSS file. The first
step is splitting the mixed-mode selector blocks into multiple
single-mode blocks, without changing the meaning of the CSS.
Actualizer Rewrite) Simple CSS

New Runtime Classes are created in the actualizer. A new CSS generator
turns selector maps into a CSS string. The actualizer no longer does
any DOM interaction. Added new unit tests for the CSS generator. Added
a capabilities monitor for future use in the JS generator.
Actualizer Rewrite) Restored Transitions

CSS transitions are back! And they have unit tests now.
Fixed setters in expressions

Now the variable lookup function returns an object with a variable
property that can be modified. This object can then be tracked for
changes during the evaluation.
Runtime 2.0) Modules system

The runtime is now divided into modules that are only added if
necessary. Some runtime code has been rewritten for the new RuntimeData
format, but there’s still plenty left.
DOM, Bug Fixes & Moved Examples

Lots of small stuff to cap off the brand new Parser -> Processor ->
Actualizer flow. Now it’s back to Runtime.
Runtime 2.0) Top-level variables

Top-level (non scoped) variables work again! You know, just like they
used to. But now the code is cleaner, so that’s something. Also some
bug fixes.
Runtime 2.0) Individual Properties

Restored basic support for individual properties. It now uses a second
stylesheet instead of the style attribute.
Runtime 2.0) Trigger Properties

Trigger properties like on-click are supported again, along with setter
expressions that no longer rely on object.defineProperty (so they’ll
work back to IE 4 or something crazy like that)