[fix] the same error does not show up more than once
[enhancement] Signup dispatches events starting at $parent to $root
[enhancement] Login dispatches a login:success event
[enhancement] use exports.install to deliver UiAuth as a Vue plugin, instead of setting a hard dependency on Vue