OpenCL::createDevice now probes for platforms for clGetDeviceIDs

My implemenation (windows, AMD APP sdk with ATI radeon) doesn't support NULL (failed with CL_INVALID_PLATFORM) so have to get platform id's to supply as arg.
Also fixed failure not returning 0 as it should.