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.