Protect receiver of raw JS apply if it's a Select.

Given a js.Function1
  path.f
when, we call it, like this:
  path.f(42)
with must not emit it as
  path.f(42)
but rather as
  var f = path.f;
  f(42)

Indeed, in the former case, `this` will be bound to
`path` in `f`, which is incorrect, and can sometimes
be really harmful, e.g., when the function is a builtin
function of the global object.
Add implicit conversions from js.FunctionN to scala.FunctionN.