Relax OpenGL requirements, query sampling level supported
Refactor renderer due to NinjaTurtle changes

Added Turgle class to implement the render part of the API
Refactored BufferManager to have external ids
updated reqs
Removed VAOs from ES2 renderer
added fast edge rendering to es renderer
refactor uniform abstraction to handle arrays, and all behind one set() method
Big refactor of memory model into two arrays

First array is shared with NinjaTurtle data model, but has been bumped
to 16 floats (4x4 matrix) to enable easier use in the ES renderer. The
second array is for render-only data (colors) that NinjaTurtle doesn't
care about, so just an implementation details of Turgles.

Improved the buffer management in the process
Pseudo-instancing working in ES2 renderer!

OpenGL isn't that hard :D

Current limitation: number of turtles has to be a mutliple of 145!
This is fixable, just needs some array maths. Performance is much better
with this approach, as expected, getting 30fps with 10,000 turtles,
rather than 500 :D
Make es renderer cope with batch size remainders

Fixes issue metioned in previous commit message
set uniform array size of es renderer to 35, as that ~= a 1024 limit, which seems to be a minimum guarantee
couple of small changes to work with NinjaTurtle
Docs, tidy up, and tweaks to for portability

 * Updated README
 * Make ES2 renderer the default in the demo
 * Remove Depth functions as not needed ATM and causing issues
 * Bumpt cffi/pycparser deps
 * Make random_walk.y fall back to slow version if libfast.so not found
Added tox for testing 2.7/3.3/pypy
fix README link
more README cleanups