Create directory for each widget.

Each directory has:

- the widget's template (if it has one)
- a themes/ subdirectory, which contains:
	- a subdirectory for each theme, containing a WidgetName.less file
	  and its compiled version, WidgetName_css.js
	- a WidgetName_template.less file based on the old themes/common/WidgetName.less,
	  included by WidgetName.less files

The old themes/*/variables.less files have been trimmed to just contain properties useful
across multiple widgets, like @dark-color or @holo-color.
In other words, this was mainly an exercise in splitting the less variables/macros per widget.

This commit includes a major refactoring of how less files are compiled.
Now, every compiled file (ex: Button_css.js) has as associated .less file.  This is opposed
to the old system where one template file in themes/common (ex: Button.less) was used to
generate multiple Button.js type output files.

Also, Slider's CSS had strange dependencies on the variables for Switch, etc.
Those dependencies were unrolled to make Slider independent.

Finally, transitions.css was importing CSS files that didn't exist, since the actual transition
CSS files were wrapped as JS files.  So I converted transitions.css to transitions.js.

Fixes #14.