cleanup
assign an id # to each web worker (add a worker init event)
Merge branch 'master' into selection
skip attribs not found in program to avoid GL errors
style parsing & selection map entry generation
fix leaky GL context in 'gl' var
add map panning state and standard names
add feature selection:
- implemented by rendering false-color silhouettes to an offscreen FBO,
then sampling pixel locations with gl.readPixels() and looking selected feature up in
color -> feature selection map
- each rendering mode has an optional 'selection program', using its vertex shader + a generic 'silhouette' fragment shader (not all modes need support selection)
- each layer style can turn interactivity (selectability) on or off individually
- user can ask for the feature at a given pixel location, feature is provided in a callback

TODO: feature info is being transferred from worker back to main thread - too heavy, leave in worker?
Merge branch 'master' into selection

Conflicts:
	dist/vector-map-worker.min.js
	dist/vector-map.debug.js
	dist/vector-map.min.js
	src/gl/shaders/polygon_vertex.glsl
	src/style.js
Merge branch 'master' into selection
add (but kept commented out) 32-bit color key for selection (as alternative to float key)
probably want to switch to color key once we have support to pack the 4 floats into 1,
but until then it wastes a lot of space in the GL buffer (4 components instead of 1), so keeping float for now
switch back to 32-bit RGBA selection color after all!
single floating point value didn't have enough precision to support high feature counts
keep feature selection maps in workers, to reduce heavy overhead of transfering data to main thread
main thread asks appropriate worker for feature selection info, encoding worker id in the alpha
channel of the 32-bit selection color
clean up selection callback method & remove old float map implementation