improve kioo usage, split up cljs

I tried to split of app.cljs.  Each screen is now in it's own ns.  I also split out a couple other things.  

I removed the `deftemplate`s in favor of embedding kioo `component`s inside of plain om components.  That seemed to set me use `owner` a bit more like I'm used to.  

Removed all manipulation of the state atom from inside the component.  Components update their cursor or their component state but never the source atom.

Several `a` tags were changed to `button` to reduce `preventDefault` nonsense. 

Added a core.async channel to communicate with the socket.  I need to look at the client/server messaging now to figure out how we actually want this to work.