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.
Here as well, we could make it generic. Besides, here the first parameter to the lambda is the element, and the second is its index.
```scala
def map[A, B](collection: js.Array[A], callback: js.Function2[A, Int, B]): js.Array[B]
def map[A, B](collection: js.Array[A], callback: js.Function1[A, B]): js.Array[B]
def map[A, B](collection: js.Dictionary[A], callback: js.Function2[A, String, B]): js.Dictionary[B]
def map[A, B](collection: js.Dictionary[A], callback: js.Function1[A, B]): js.Dictionary[B]
```