More consistent/useful debug info from opencl/cuda runtimes.
Refactored halide_printf to allow replacement by JIT (halide_print).
Added tests validating GPU objects are released.
Simplified GPU object lifetime tests.
Fixed compilation on non-osx.
Fixed test behavior when not running on GPU target.
Slightly improved CUDA debug output.
Fixed leak of GPU buffer object.
Added halide_release implementation to non-gpu targets.
Image destroyed before halide_release is called, allowed none for non-GPU targets.
Fixed leak of program objects for multiple calls to halide_init_kernels/halide_release.
Added error checking on halide_init_kernels.
Updated comments on halide_print and halide_error.
Added comments regarding program/module object management.
Fixed comment on halide_print to refer to the correct function.
Added more comments regarding state/program/module object management.
Added helper function to release device buffer without destroying the Image.
Used dev_free helper instead of relying on destructor.
Added tracking of clCreateKernel/clReleaseKernel.
Cleaned up redundant DEBUG preprocessor checks.