Image types were previously available, but not working. This patch
adds handling for OpenCL builtin functions.
Rename the image type definitions in the .td file to make them
consistent with other type names. Use abstract types to represent the
unqualified types. Instantiate access-qualified image types at the
point of use using e.g. ImageType<Image2d, "RO">.
Add/update some TableGen definitions that use image types.