Create granular tests

Use 'chai' for assertions so that `Error` messages can be checked.
Add support for overwriting variable values

Fix gh-9
Add support for fallback values

CSS variable fallbacks can be any value, so we have to do a bit of
string parsing to reliably extract and resolve variables in values.

Fix gh-8
npm-ignore the 'test' directory