Load TileJSON; support inline TileJSON sources

Fixes #535
Fixes #698
Refs https://github.com/mapbox/mapbox-gl-style-spec/pull/143
Refactor; add tests