Improved Performance of jQuery.ui.inputextender

This is done by no longer initializing the input extender's extension's content on widget
initialization. Instead, the content will be initialized when the extension is first going
to be shown.
Introduces a series of minor changes
- Renamed "_draw" to "draw" and let it handle all draw operations including repositioning of the
  extension. Allows to reposition the extension from the outside now if required.
- Introduces $.ui.inputextender.redrawVisibleExtensions for easily redrawing all visible extensions
  of all instances. Does no longer listen to a "animationstep" event on the "html" element which
  triggered the repositioning of active widget instances previously.
- No more ".ui-inputextender-contentnode" class is added on the extension's content nodes. This is
  because it is a valid use case to not specify the "content" option and instead manually define
  extension's content nodes during the initCallback gets called.
- When "destroy" gets called, "hideExtension" will be called but the animation will be stopped and
  forwarded to its end immediately. This way the "animationstep" event will be triggered a last
  time before destruction, giving event listeners a chance to react to the extension's removal.
- Documentation updates.
- More QUnit tests.

Change-Id: I23cded705ce4954644e4e5ea58c9119f2a1e8a3e