Further simplify mixin declaration

Not sure if this is a good idea...
Actually implement selection-based chart creation

Prior to this commit, chart "bases" needed to be specified as the first
argument. Since the chart constructor has been moved to
`d3.selection.prototype`, this is no longer necessary--the constructor
can (and should) infer its base from the selection it was called on.
Behing the scenes, all charts will expect the base selection as the
first argument to their constructor. The end user does not have to be
aware of this requirement, because the first argument can be omitted in
the invocation of Chart#initialize.

This work necessitated a more d3-like API for mixins. This is a bad
idea and should be re-worked ASAP.
Implement new mixin API

This API is significantly uglier than previously implemented, but it
does not rely on the "magic" of global method switcheroos. Still needs
work, though...