First round save what I'm doing.
Prints rule 110 to stdout and plays it as midi.
Make sure to stop the synth.
This prevents it from making some garbage noise at the end of the program.
Taiko drums
Add option to draw automata via java graphics
Commit what I have for rendering and trying all rules to a file.
Clean up is next
Make a common constant file to share across the other files to help
prevent cyclic dependencies.

Simple refactoring and cleaning up dead code and adding comments.
Allow for running all rules or a single rule via command line
Initial work for a Clojurescript version that uses canvas.
It takes a long time to render the canvas, so need to figure out what
I'm going wrong.
Speed up rendering of canvas.
Only draw the latest state on the canvas instead of redrawing
it on every update.
I'm sure there are some more tricks to make this render faster.
Plus it would be nice to have it update incrementally, but that requires
some trickery to get JS to sleep for a few milliseconds between each
iteration.
Make command line option to loop through rules.
May need more testing
Ignore the autogenerated resource js dir
Update based on kibit recommendation
Convert the run-rule to call an iterate rule function that will
draw a row and then set a js timeout to call self again.
This way we can see the rows being drawn line by line.

Should try using core.async with a timeout channel to compare how the
code looks and how easy it is.