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.
`map` is one the most broken functions of jQuery. It should have returned an Array directly, rather than wrapping it in a jQuery object. But with its semantics, we cannot type the result type.

Anyway, I would remove the second one so that the third can accept a lambda, and have that one take an `HTMLElement` as well:
```scala
def map[B](callback: js.Function2[Int, HTMLElement, B]): JQuery = ???
def map[B](callback: js.ThisFunction0[HTMLElement, B]): JQuery = ???
```