Allow node globals
Use util.inherit + ES6 syntax
Remove Source's this.painter
Reduce coupling between source and map with events

Fire and listen for events rather than calling map.update()
directly. While here, fix issues with source.add event and
bubble style.change event through map.
Refactor GeoJSONSource updating

Use the #update interface established by Source. Map will
call this method when needed.
Inline _updateStyle and _updateBuckets
Fix zero-duration transitions
Merge pull request #867 from michaelsteffen/zero-trans

Fix zero-duration transitions
Fix GeoJSON source rendering
enabled ⇢ _loaded
Merge branch 'mb-pages' into 6to5