Formatting: whitespace
Fixed: rename CSS classes

Allows us to easily select elements programmatically, i.e. in a loop.
Fixed: remove 'clear' function

Clearing is now done directly in west.js in order to avoid having to create a new WebWorker just to clear old boxes from the DOM.
Fixed: changed class names in HTML

Allows us to easily select elements programmatically, i.e. in a loop.
Formatting: spaces in between conditions and control statements
New: store event handlers in array in order to unsubscribe

We need to be able to unsubscribe events. In this implementation, event handles are kept in an array so that we can unsubscribe to events matching a given box's existing topic when the user selects new events for a box from the Actions menu.
New: clearBox() function

This function first checks to see whether there is a worker instance corresponding to the given box number. If there is, it terminates the process running in that box, then clears the corresponding DOM element.

It is easier to clear the boxes in west.js instead of within the boxWorker object because WebWorker.terminate(), which can only be called in the main thread, stops a process immediately, which is the desired behavior. As far as I know, it's not possible to immediately halt a process from inside a WebWorker (self.close() waits until the task is finished.)