Use -server -XX:+TieredCompilation to double compilation speeds
Remove canvasSize_ property
Don't set the canvas size too early
Merge pull request #1290 from twpayne/improve-compile-times

Use -server -XX:+TieredCompilation to double compilation speeds
Merge pull request #1291 from fredj/canvasSize

Fix ol.Size order in ol.renderer.canvas.Map and ol.renderer.webgl.Map
Don't use ol.size.equals function

To avoid creating an array on each frame (60 times per second).
Call getElement to get layer
Merge pull request #1293 from tschaub/event-element

Correctly handle layer add/remove in modify interaction.
Merge pull request #1292 from fredj/canvasSize

Don't use ol.size.equals function
Vector layer/source refactor

This moves the feature cache from ol.layer.Vector to ol.source.Vector.  These are the minimum changes required to maintain the existing functionality and make tests pass.  More refactoring to come.
Private source methods
Remove unused method
Moving all style functionality from source to style
Move render intent enum to feature
Separate load requests from feature requests

This separates the action of requesting an extent to be loaded from the action of requesting cached features.  The renderer (or any other consumer of a vector source) calls load to request a data extent.  A `featureload` event fires when new features are loaded.  The renderer (or any other consumer) separately asks for cached features given an extent.  This vector source only loads features once, but this separation will also work with sources that make multiple requests for data in different extents.

This also removes the `data` option from the vector source in favor of a `features` option.  Since we no longer have shared data structures for geometries, people can manually create features and pass them to a vector source.  The `addFeatures` method is exported as well.  This is used to add features to a source that don't have a representation on the "remote" (or server).