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.
It's not consistent to have one overload offer `HTMLElement` and the other `js.Any`. I think we can do better, here, and make it generic. It can also return `Unit`.
```scala
def each[A](collection: js.Array[A], callback: js.Function2[Int, A, _]): Unit
def each[A](collection: js.Array[A], callback: js.ThisFunction0[A, _]): Unit
def each[A](collection: js.Dictionary[A], callback: js.Function2[String, A, _]): Unit
def each[A](collection: js.Dictionary[A], callback: js.ThisFunction0[A, _]): Unit
```
WDYT?