get javascript tests passing
Add support for per-channel buffer sizes

When no buffer size has been set by a publisher, the default buffer size
(100) is used.
Also renamed MAX_MESSAGES => BUFFER_SIZE for clarity.

This implements #35.