Add doc to install in the home directory.
Change the API of pygpu_blas_* to return an int instead.
 - Avoids memory leaks when not DECREF-ing return values
 - Also get rid of a level of wrapper.
Major reorganization of the code in GpuArray_setarray to avoid allocating a temporary GpuArray.
Protect the blas headers from the evil C++ compilers.
We need to exit the context after cuda calls.
Don't record an event on buffer creation (this gives a major speedup).
Change the context schduling policy to auto which gives us a 3% performance increase.
Add flags to the context init function and use them to give hints to the function.
Update the python binding with respect to the new API.
Remove most of the event handling and only keep the bare minimum to make sure things are in sync.  This was a major performance drain.
Revise the simple_move check in GpuArray_setarray to catch more cases of simple moves.
Add a new string buffer interface and use it for "templates".
Change error handling of strb to be simpler.
Revise the overflow check to work correctly.
Fix compile with Xcode 5.x
Move the TAG_KER() debug call to avoid aborting on error in cl_newkernel().
Fix crash in the error path in cl_newkernel().
Unbreak use of GA_USE_BINARY on OpenCL.
LRU cache implentation using a hash table and a double-linked list.

Average retrival time (with pre-computed hashes) is around 3e-6s.  If that proves to be too slow there might still be micro optimizations to do, but the algo is probably as fast as it will go.
Use the cache in cuda_extcopy().