Fix multiple call to analytics.page() bug

This required changing the way I use the router. Instead of storing the object in session, I just store the id. In the viewer this is straightforward but in the editor this was a little more complicated because we want to have reactivity based on an object that is not stored in db. So we load and store the object being edited in session.
Adding more stats events + fixing bugs for \loggedIn users
Fixes for pre-requisites
Event for click on prereq links