Refactor, extracting schedule namespace

Adds workout data structure, moves speaker-chan into speaker namespace
Refactor

Use alt! instead of alts!, close ticker when process is finished
Fix renaming of rest titles
Refactor to add display abstraction

Also simplifies the work loop, at the expense of using n+1 go blocks
intead of 1. On the plus side, even if the speaker channel is blocked,
it won't slow down the ticker loop. I guess on the down side, if it did,
it could wind up consuming all of the threads available in the go pool.

Maybe the clojurescript version will clarify this.