Further simplify mixin declaration

Requiring a `namespace` string in mixin creation clutters the method
signature and limits the user's options on how to attach the mixin chart
(i.e. it can only be attached to the chart instance directly). This API
leaves the method of reference attaching completely up to the user.

Not sure if this is a good idea: the user may not keep references to the
chart, which will be problematic if we later decide to implement more
mixin management methods (like `removeMixin`, for example... ooo! We
could call that `mixout`!)
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...