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

Conflicts:
	common/glfw_view.cpp
	common/glfw_view.hpp
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

Conflicts:
	src/map/map.cpp
Get ndk-build to compile again
hack for Android for now
Add sqlite to ndk-build
boost build fix

Conflicts:
	setup-libraries.sh
monkeypatch boost regex
update mapnik-packaging
Fix SSL - was missing libcrypto
Get Boost building again
Change to android-21 build to match mapnik-packaging
Test boost regex
Bring back map->terminate()
Use Linux cache DB location for the moment
Use latest mapnik-packaging