Unique event type value for this target

The goog.events.EventType.CHANGE type is already dispatched because layers are ol.Object instances.  To allow people to register for vector layer specific events without also having listeners get called with more general ol.Object change events, we need to give the types unique values.
Sort symbolizer groups by zIndex

Now rendering order can be controlled by setting the zIndex
symbolizer property.
Extend goog.events.Event for custom vector layer events

Vector events include features and extents.  In the case of feature change events, the extents array will include old and new extents for features with modified geometries.w
Marking sort function private
Merge pull request #1091 from ahocevar/render-zindex

Sort symbolizer groups by zIndex
Merge pull request #1092 from tschaub/vector-event

Extend goog.events.Event for custom vector layer events.
Accessor for polygon rings
Make geometries event targets

Previously, the tests were using eql to make assertions about matching geometries.  This is inappropriate for structures with circular references (as with goog.events.EventTarget);
Add setCoordinates for point and dispatch change event
Add setCoordinates for linestring and dispatch change event
Change event for polygons
Listen for geometry events and fire feature events
Listen for feature events and fire layer events