opencl: Accept arbitrary kernel filenames, provided they specify a kernel interface somewhere in the source file

File must include the string "kernel-interface:" followed by one of the known interface names