[WIP] - v6.0.0 Release Candidate

## Widget 6.x
This PR is intended for a major release.
Basically normalizes the widget API with the following methods:

## API
* .show(options[, callback]): Displays widget on signin mode by default with both signup and reset password button actions (if enabled from connection). Triggers `ready` when available on DOM.
* .showSignin(options[, callback]): Displays widget on signin mode without signup nor reset password button actions. Triggers `signin ready` when available on DOM.
* .showSignup(options[, callback]): Displays widget on signup mode without buttons actions. Triggers `signup ready` when available on DOM.
* .showReset(options[, callback]): Displays widget on reset mode without buttons actions. Triggers `reset ready` when available on DOM.
* .hide([callback]): Hides and removes de widget. Triggers `hidden` event when done. Calls `callback` too, as a second option.

> The `callback` parameter on `.show*()` methods gets called on popup mode for Single Page App aplications, avoiding the usual and default Oauth's redirect when logging in.

## TODO:

* Normalize instance options and display options
* Add a few more features for enterprise connections

cc @jfromaniello @woloski @siacomuzzi @mgonto @pose 
I don't know... what's the difference though?

Originally it was intended to be a `.apply` with arguments... then I figured I should not modify the provided object before passing it... and changed it to `.call`.