Added more docstrings and converted js.Function[T, js.Any] to js.Function[T, _]
convert more functions, collapse telescoped constructors and methods to use the new default arguments