fix pushstate with better .on() event handling. update router.