update testApp -> ofApp filenames to conform to of 0.8 standards

* also changed data dir to be held inside bin as in default oF

Signed-off-by: tgfrerer <tim@poniesandlight.co.uk>
removed dependency on ofxMSAPingPong

* i don't need this for now

Signed-off-by: tgfrerer <tim@poniesandlight.co.uk>
add additional checks before kernel work submissions

* will round up to nearest multiple of local size to cover all of global size
* will check whether total local workgroup size is within context's capability and not issue command but error if not.

Signed-off-by: tgfrerer <tim@poniesandlight.co.uk>
add ability to dynamically load/reload programs

* uses shared_ptr to do memory management instead of bare pointers
* todo: we'd like to have program manage kernels, so that if a program object destroys, it releases the kernels it owns.

Signed-off-by: tgfrerer <tim@poniesandlight.co.uk>
fix asserts to enable run-time-reloading

* this allows us to reload a kernel / program on-the-fly
* tested on OS X, works
* needs testing on windows

Signed-off-by: tgfrerer <tim@poniesandlight.co.uk>
add vs2012 property page for nvidia/OpenCL
add nvidia_cuda compatibility
+ fixes some things that severely tripped up the Titan:
  + on windows, for OpenGL/OpenCL interop, you need to clEnqueueAcquireGLObjects and --"--release otherwise you'll get Error -1000 whenever you want to run an interop kernel. (boy, that was tough to find out -- &  it's really strange that OS X let's you get away without it.)
  + we'll automagically keep track of OpenGL interop objects attached to kernels by monitoring their parameter settings, if an object is GL interop, it will be acquired and released around the run() statement - this needs some more testing
  + add a method for friendly error messages from OpenCL
fix examples to work on windows
+ particle is the interop example, updated this example to work with the current codebase of ofxMSAOpenCL
fix OS X OpenCL

* add correct header files
* ensure buffer ownership during read/write operations on GL backed CL buffers is exclusive.

Signed-off-by: tgfrerer <tim@poniesandlight.co.uk>
remove some leftovers from windows context acquisition
* this is WIN32 only
add vs project files for example-particles
* added since it shows how to include the property page in the property manager.
* it's important to have the custom property page on *second* position after the openFrameworks property page.
more friendly startup message
add cl_event methods,
so that work may be enqueued & queried async.
Merge branch 'memo/master'

hand-merged conflicts, tested helloWorld Example.

Conflicts:
	example-Hello World/src/ofApp.cpp
	example-Particles/src/ofApp.cpp
	example-Particles/src/ofApp.h
	src/MSAOpenCL.cpp
	src/MSAOpenCLBuffer.h
	src/MSAOpenCLMemoryObject.cpp
	src/MSAOpenCLMemoryObject.h
changes to hello world example

* shared_ptr kernels
* comment out dependency on msaTimer for now
* setArg overload accepts managed buffer objects based on their template type.
fix image example
fix global size calculation

* when no local size is specified, globalsize does not need to be recalculated, localsize will be auto-detected by driver.
fix invert kernel

* invert kernel would also invert alpha value, leading to "invisible" frame.
refactor image app

* move global variables to app scope
* add keypress action SPACEBAR to interactively reload & recompile kernel code.
better memory management

* use maps to store programs & kernels, to that reloading same program from source will cause old version to be auto-destroyed, also keep kernels in maps of shared pointers
* more elegant cleanup upon deletion of openCL object.