Port login system over to Persona Observer API
Fix handling when navigation begins in a subdirectory by making *everything* absolute