Move predefined types/funcs out of nacl.js
Create Context class, make all function calls from it.

This will make it possible to destroy all handles associated with a context.
Add compress example (using zlib compress).

* Define new functions compress/compressBound
* Better error function CMD_ERROR (prints command that is being
  executed)
* Add handle type casting for primitive types. Lots of ugly macros.
Better separation of built-in and generated types.

I moved most of the types back to nacl.js, but I think the separation is
better now.
Move functions out of Context object.

This goes back to the old way of creating the functions immediately. The
difference is that every function takes the context as the first
argument.