major performance overhaul. tags.js no longer constructs dom by creating and appending nodes, but rather by creating input-safe HTML strings which need to be innerHTMLd. Much of previous using code should still work, but there are cases which will no longer - notably functions passed as arguments which used the reference to the tag being rendered will no longer work as tags no longer created nodes