Replace onclick with addEventListener()
Replace tabs with spaces
Prevent repeat processing of Details nodes

If details_shim() is called again, don't process processed elements.
This allows for details_shim() to be called again after altering the DOM