Small api fixes

Updated each and map to accept more strongly typed parameters while preserving the existing. Note the use of Any instead of js.Any on the each method to allow returning any value type as the value to optionally stop iteration. The use of Int together with HTMLElement was motivated by the fact that apply(Int) returns an HTMLElement. However, that's not consistently enforced in all of the iteration/index-oriented APIs.

Small modification to allow JQueryXHR to inherit from JQueryPromise as documented in the jQuery API.

Updated documentation a little to help people now to the wrapper library.
I would offer a `js.ThisFunction0[HTMLElement, _]` instead as the second overload, since then it will accept lambdas that take the element, just like normal `filter` in Scala collections. Bisdes, the function should really return a `Boolean`.
```scala
def filter(func: js.Function2[Int, HTMLElement, Boolean]): JQuery = ???
def filter(func: js.ThisFunction0[HTMLElement, Boolean]): JQuery = ???
```