CMakeLists.txt in kernel dir now generates LLVM bitcode files, and generated header and source file for OSX support.

Some extra changes: split up definition of shape struct (otherwise the files wouldn't be correctly generated)
Allocate memory for the camera struct and pass it as a pointer (some OpenCL implementations have problems passing structs 'directly')
Revert (Added wrong files) "CMakeLists.txt in kernel dir now generates LLVM bitcode files, and generated header and source file for OSX support."

This reverts commit b5a3c0b0eb49c4ae87f4ba9f60fd311c06894ceb.
Try 2: CMakeLists.txt in kernel dir now generates LLVM bitcode files, and generated header and source file for OSX support.

Some extra changes: split up definition of shape struct (otherwise the files wouldn't be correctly generated)
Allocate memory for the camera struct and pass it as a pointer (some OpenCL implementations have problems passing structs 'directly')