Added CLReleasable.

This is a uniform interface to release memory associated with buffers
and images.

Added a(n evil) Storable instance for CLBuffer. The Storable instances
for CLBuffer and CLImage are just so that the kernel running functions
can use them as plain CLMem values when setting a kerne's arguments.

The peek implementation for those instances sets the dimensions of the
returned value to an error message that reflects the bogus nature of
the instances.
Fixed initBuffer to return a CLBuffer.
Added initImage and initImage'.