Mojo JS Bindings: Define more of JS Application in JS

Moved most of the JS application definition into JS. The JS Application class is the shell's client, there's no more trampolining from JSApp and JSAppShell to Application. The JSAppShell class has been removed.

The public JS APIs haven't changed.

BUG=
R=eseidel@chromium.org

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