Added the hashchange listener back in

We need this to capture view changes where we don't call the routers
e.g browsing between places search results and individual details.
Make sure we remove contextButtonView's safely

Calling cleanup so views don't leave dangling events.