added up several visualisations for different msg types (based on nav2djs), added zooming and panning

The idea is to set things up a bit more modular, so that you can easily choose which visualisations to add and which not, like in rviz.
Panning and zooming don't bind to events, the user calls functions, so that the user can decide how to bind panning and zooming to events.
This probably will break nav2djs a bit (but mostly replaced nav2djs), since this uses a rotation of 0 aiming east, unlike the existing navigation arrow.