Add View::make_inactive() to remove context from rendering thread

View::make_inactive() is called just before termination of the
rendering thread. The implementation must clear the thread's GL
context.

This ensures there is no context still bound to a thread during
GL shutdown. This is needed as GL will not actually delete a
context until it is not active on any thread.

Fixes mapbox/mapbox-gl-native#340

Conflicts:
	common/glfw_view.hpp
	include/llmr/map/view.hpp
	test/headless.cpp
Adds the function Map::terminate() to allow all GL resources held
by the map to be released immediately.

Map::terminate() will call any GL functions on the current thread
without blocking or defering to the rendering thread.

This function allows a GL context to be destroyed and recreated
safely without having to delete the Map object.

Fixes mapbox/mapbox-gl-native#341

Conflicts:
	include/llmr/renderer/painter.hpp
	test/headless.cpp
Move notify_map_change() from a global callback, to a callback in
View.

This allows for their to me more than one Map object alive at a
time.

Fixes mapbox/mapbox-gl-native#346

Conflicts:
	common/glfw_view.hpp
	include/llmr/map/view.hpp
	include/mbgl/map/transform.hpp
	src/map/map.cpp
	src/map/transform.cpp
	test/headless.cpp
Merge branch 'fix-context-shutdown-merge' into libuv-0.10-fix-context-shutdown

Conflicts:
	src/map/map.cpp
update Painter::deleteShaders
fix Map::terminate?
don't terminate after Map::run
add GLX support to HeadlessView::make_inactive
drop clear_buffers and glx make_inactive from descrtuctor
clear_buffers in make_inactive, call make_inactive in destructor
pass NULL instead of nullptr to glXMakdeCurrent
dont make_active when clearing buffers, call make_inactive at end of Map::prepare()
make_active only for CGL in clear_buffers
bump mapnik-packaging, remove unnecessary view.make_active calls
Merge branch 'libuv010' into libuv-0.10-fix-context-shutdown

Conflicts:
	setup-libraries.sh
Merge branch 'libuv010' into libuv-0.10-fix-context-shutdown

Conflicts:
	common/headless_view.cpp
	test/headless.cpp
Merge branch 'libuv010' into libuv-0.10-fix-context-shutdown
Merge branch 'libuv010' into libuv-0.10-fix-context-shutdown

Conflicts:
	common/headless_view.cpp
make active after resize
Merge branch 'libuv-0.10-fix-context-shutdown' of github.com:mapbox/mapbox-gl-native into libuv-0.10-fix-context-shutdown