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.
Consistency issue. Here I think it is reasonable to type the input as `HTMLElement`. It is better to remove the second overload, because having both second and third will cause ambiguity if a lambda is given. So I suggest:
```scala
def each(func: js.Function2[Int, HTMLElement, _]): JQuery = ???
def each(func: js.ThisFunction0[HTMLElement, _]): JQuery = ???
```