Refactor initialisation

This reverts storing initialised `Expanding` instances in `data` (rather than in a registry) as it leads to more understandable code. (Takes some inspiration from twitter bootstrap plugins.)

It also removes the `$.expanding.opts.update` option. This is used to provide a default callback on update, but is not documented, and is a little confusing. Note: `$('textarea').expanding({ update: function () {} });` is still supported.

`.jshintrc` is updated, and .js files have been updated to reflect these changes.
On one hand I actually like the original pattern here because it's less tied to jQuery's APIs (so if we wanted to make a jQuery-less version of this, for instance, it would be easier).  But doing that would require quite some changes anyway, and it removes some code to just use the `data` function, so let's roll with it.