Split tags between head and body

Allows for stuff like turbolinks to reevaluate tracking tags.
Make tag generation more object-oriented