Event monitor for the Viewer

In order to understand what is going on inside the Viewer it can be useful to see the events that are firing at certain points. Philippe already has a nice and polished solution for this implemented