popups refactor

popups module rewrite. popups will now close on any click. persistent popups will stay open when the click is within the popup element itself.
`0` timeout?