Web worker improvements.

- Don't restrict usage to only one worker channel per library instance.
- WorkerChannel.request() now returns a promise instead of needing a callback passed in.
Added support for interfaces to documentation generator.