Add js.ThisFunctionN to capture JS `this` as parameter.

The traits `js.ThisFunctionN` model JavaScript functions that consider `this` as a parameter. They map to `scala.Function{N+1}` where `this` is explicitly stated as a first parameter.

See the unit tests enclosed in this pull request for the three features provided by `js.ThisFunctionN`.