V4 migration

- [x] rename to v4
- [x] $type values mapbox/mapbox-gl-style-spec#69
- [x] halo width units mapbox/mapbox-gl-style-spec#66
- [x] halo blur units mapbox/mapbox-gl-style-spec#66
- [x] promote glyphs to a top level element mapbox/mapbox-gl-style-spec#77
- [x] icon+text -> symbol render types spec overhaul https://github.com/mapbox/mapbox-gl-style-spec/pull/70
- [x] promote type to layer level https://github.com/mapbox/mapbox-gl-style-spec/issues/80
- [ ] fit circle render type into the symbol overhaul (?) https://github.com/mapbox/mapbox-gl-style-spec/pull/68
- [ ] text-justify/align changes https://github.com/mapbox/mapbox-gl-style-spec/pull/74
- [ ] text-offset & icon-offset https://github.com/mapbox/mapbox-gl-style-spec/pull/83
This is the culprit I suppose