Refactor bindings generation in GYP

Bindings generation needs to be separated from compilation to work with NaCl.
Interface generation in mojo_public.gyp was ported to use the new pattern to
ensure the code is live.

BUG=https://code.google.com/p/chromium/issues/detail?id=401761
R=jamesr@chromium.org

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