Fixes getter methods created when plugins are initialized.
Fixes getter methods created when plugins are initialized.

Because the following function definition is not wrapped in a closure

    self[name] = function() { return plugin; };

`plugin`'s scope is the `TextExt.initPlugins` function. Because of this,
on each iteration of the list of plugins to create the getter methods in
`TextExt`, the return value of all created methods will be the last
value of `plugin` and not the value of `plugin` from when the function
was defined for each.

Wrapping the function definition in a closure fixes this issue.

As an explicit example:

Previously, when instantiating a new `textext(...)` instance and
defining the `plugins` option as

    plugins: 'autocomplete arrow'

All 3 of the following would return the `TextExtArrow` instance

    $('...').textext()[0].ie9();
    $('...').textext()[0].autocomplete();
    $('...').textext()[0].arrow();

After they closure from this changeset is applied, they return their
expected plugin instances

     $('...').textext()[0].ie9();          // TextExtIE9Patches
     $('...').textext()[0].autocomplete(); // TextExtAutocomplete
     $('...').textext()[0].arrow();        // TextExtArrow

cesarmarinhorj/jquery-textext,DustinH/jquery-textext,dyx/jquery-textext,DustinH/jquery-textext,alexgorbatchev/jquery-textext,alexgorbatchev/jquery-textext,cesarmarinhorj/jquery-textext,dyx/jquery-textext,continuata/jquery-textext,jscott1989/jquery-textext,jscott1989/jquery-textext,garbas/jquery-textext,garbas/jquery-textext,continuata/jquery-textext