Made better use of particle arrays in opencl.py
Moved PIC grid clearing to GPU kernel
Fixed a bug in initial distribution algo

Now SAFETY_OFFSET is taken into account correctly, fixes particle "tail" when
SAFETY_OFFSET != 1.
Merge branches 'perf-generator' and 'perf-memory'