Polished/refactored some code
Also found out that on win32 the 'colorize' gem needs to have its BACKGROUND_OFFSET increased by 10 (40->50) to work properly.
Pipe child streams using threads instead of IO.select()
Found out why child PIDs were vanishing (waitpid sends a signal that kills them) and worked around it.
Added Acid::Executor.capture(from, to, &filter), a method that returns (and spawns) a thread that keeps reading from a stream, eventually applies the supplied block &filter and then writes the result to another stream.
Temporarily switched to normal (unprotected) bash, added yield() explanation
Solved the problem with bash (and other sh-based shells)
It was a matter of quotes: "bash -c echo something" is invalid, since the string to evaluate isn't surrounded by quotes; the correct form is "bash -c 'echo something'".
Merge pull request #2 from C453/threaded-capture

Capture with threads, works on Linux and Darwin