[DO NOT MERGE] Align vertex attributes at 4 byte boundaries

First part of https://github.com/mapbox/mapbox-gl-native/pull/590

Introduces a sprite atlas and moves icon rendering to use the sprite atlas.

Missing things:

- [ ] Move glyphs to the same system
- [ ] SDF icon support
- [ ] Investigate why rotating makes icons jitter

mapbox-gl-js is now compiled with traceur/es6ify, so you can use arrow syntax to avoid an explicit bind or temp variable:

```
(err, newicons) => {
  if (err) return callback(err);
  this.icons = newicons;
  callback();
}
```