Microphon multi-output update

This commit changes the @line_out attribute of a Microphone to an Array,
which may contain multiple instances of IO, OutputStream, or Line
objects (and their subclasses).

The new methods #broadcast(), #broadcasting?() and #remove() manage
adding, testing, and removing lines from the list, respectively.
Calling #destroy() will terminate the Microphone's runtime and destroy
all open lines (@line_in and @line_out).