Allow to purge cached OpenCL kernels

This allows to completely destroy all OpenCL resources, and to
re-initialize OpenCL contexts.

This is especially important for NVIDIA OpenCL platform when exclusive
compute mode is turned on.