Mojo JS Bindings: proxy Class client$ property, constructor

- Proxy class constructor parameter

Given the message pipe handle for a service, a proxy for the service can
be constructed directly:

  var fooService = new FooService.proxyClass(fooServiceHandle);

A Mojo interface valued field in a struct or an ordinary interface parameter
in a Mojo method can be handled this way. In both cases the JS bindings deliver
the value as a message pipe handle.

- Proxy class client$ property

This is needed for interface request parameters when the interface has
a client. It's similar to InterfacePtr set_client(). The client$
property is only defined if the corresponding Mojo interface has a
client. The "$" suffix avoids potential name conflicts. It sets the
connection stub's $delegate, i.e. its value is the client
implementation. For example:

  serviceProviderProxy.client$ = myClientImpl;

BUG=
R=aa@chromium.org

Review URL: https://codereview.chromium.org/788663002