Configure JSHint to warn about unused variables

...and remove unused variables from test files.
Improve build process

Programatically wrap the concatenated source code in an
immediately-invoked function expression at build time. This allows for
easier code sharing between files, lessening the friction in dispersing
the source across multiple files.
Add sourcemap support
Break API definitions into separate files
Fix whitespace

Now that the source files are programatically wrapped in an
immediately-invoked function expression at build time, the base-line
indentation should be removed.
Honor inherited implementations of Chart#transform

Chart#extend and Chart#mixin are intended to help authors create new
chart definitions from existing constructors. These new definitions may
define their own data transformation logic, but they likely expect the
previously-defined transformations to take place as well (which is why
they have chosen to reuse the "base" chart).
Abstract data dereferencing

In order to better facilitate reusability, provide an interface for
working with chart data. With it, chart consumers are able to define the
"shape" of their data. Allow consumers to explicitly opt out of this
behavior for situations that require runtime optimization (i.e. large
datasets, frequently-updating charts, or low-powered devices).
Limit Chart options to a single parameter

Supporting a variable number of chart options needlessly complicates the
internals of d3.chart.
Simplify `Chart#mixin`

In an effort to honor the single responsibility principle, modify
`Chart#mixin` to operate with previously-created Chart instances.
Additionally, require a unique string name for each mixin.
Implement `Chart#demux`

Provide mixin users with a means to split the input data across mixins.
Release v0.2

Increment version, rebuild distribution files, and update examples.
Improve in-line documentation