LayerTree widget fires togglekml events

This commit makes the LayerTree widget fire "togglekml" events instead of itself add/remove the vector layer.
Add a showKMLIn2D option to LayerTree plugin

The LayerTree plugins listen to "togglekml" events from the LayerTree widget. If "showKMLIn2D" is true the "togglekml" listener adds/removes the KML features to/from the 2D map. Otherwise, it does nothing.
LayerTree plugin re-dispatches "togglekml"

With this commit the LayerTree plugin re-dispatches "togglekml" events to the viewer. Other plugins, like the GoogleEarthView plugin, can listen to "togglekml" events and take action (open Google Earth, add the KML etc.).
GoogleEarthView plugin listens to "togglekml"

With this commit the GoogleEarthView plugin listens to "togglekml" events from the viewer instead of listening to "add" events on the viewer's layer store. The "togglekml" listener opens the Google Earth panel, if it's not already open, and toggle the display of the KML.
GoogleEarthPanel need not overload addLayer

The new way to add/remove KMLs is through the toggleKmlUrl method.
GoogleEarthPanel widget listens to "pluginready"

With this commit the GoogleEarthPanel widget listens to its "pluginready" event. The listener unregisters the "add", "update" and "remove" listeners on the layer store, as we no longer want that the displaying of KMLs be driven by the addition and removal of layers. The listener also calls toggleKmlUrl to deal with toggleKmlUrl calls that happened before the plugin was initialized.
GoogleEarthPanel clean-up

We know the Google Earth plugin is already initialized when addKmlUrl and removeKmlUrl are called.