When the event object is reference outside the call stack of the
original event handler (like in a setTimeout), accessing its
properties results in a "member not found" error. The solution is to
clone the event object and use the clone.
When removing/inserting layers back-to-back, the layer elements can
get out of order because createLayerRenderer always appends to the
layer pane. This makes it always reattach the layer node at the
correct index, ensuring correct layer ordering.
IE < 9 does not support CSS content properties, so the +/- does not
get rendered. Instead, add the +/- as text nodes when creating the
DOM nodes for the control.
In IE7, handling some mouseup events are causing the native event
underlying goog.events.BrowserEvent to be invalidated, and it would
error out with a "Member not found" message. By passing the Closure
event rather than the native event around, we avoid this case.