make GL program source transforms & compilation asynchronous
make scene initialization async
(some functions are still doing sync XHR calls and need to be made async)
consolidate more worker init code
add a callback for GL program compilation (and instantiaion, since compilation also happens then)
don't update GL program instance vars for modes until programs finish compiling
Merge branch 'master' into async
don't pass GL program to the compilation callback
unecessary (for now anyway) and wreaking havoc on the queue callbacks (being interpreted as errors, but reluctant to switch to node-style error-first pattern)
trivial
fix worker mode create bug (manifested when passing a mode on demo URL)
move building of define list for modes to separate function
re-use mode programs instead of replacing every time
(drop support for URL-based shader references for now, may bring back later)
Merge branch 'master' into async

Conflicts:
	dist/tangram-worker.min.js
	dist/tangram.debug.js
	dist/tangram.min.js
	src/scene.js
remove unused URL-based shader code
Revert "only iterate over active modes when rendering" - re-introduces flicker when rebuilding/switching modes

This reverts commit f885d690a8c49b4b2fc894d12be3a8bf8951cbf7.

Conflicts:
	dist/tangram-worker.min.js
	dist/tangram.debug.js
	dist/tangram.min.js
defer replacing GL programs until they finish compiling
minor simplifications
Merge pull request #15 from tangram-map/async

Make all initialization asynchronous