more improvements on cffi/opencl backends; also moves the contents of gravity.py into extensions.py.
Merge branch 'feature' into dev