Several changes

I'd appreciate feedback on the changes; the recent commits certainly stray further away from your code.

Things that bug me:

* the code isn't really organized (everything in `core.clj`); too early? not yet sure how...
* atom based style creation; such a simple impl, but there surely is a better way?
* repeating the style attributes on each element is too verbose