Separate tag and compiler libs

This pull request separates hiccup into two libs, using lein sub. `hiccup-common` will contain all tag generation functionality, while `hiccup-compiler` contains the hiccup Clojure compiler. This should be fully backwards compatible since the compiler fn in `hiccup.core` can be redefined but defaults to `hiccup.compiler/compile-html`.

I'll be submitting a separate pull request for ClojureScript support once we've cleared this merge. Should make the change more manageable.