logline output buffers rather than updating on every ws message

In builds with lots of output, trying to reload the page partway
through the build results in thousands of websocket messages (one
per line) that each update the DOM.  This can cause the browser to
freeze.  Instead, use requestAnimation frame to delay the DOM
updates.
Merge pull request #146 from movableink/buffer-websocket-log-output

logline output buffers rather than updating on every ws message