revamped spawn to use event-based impl by default

this patch turns libcppa's spawn function family upside down;
actors are now event-based by default, but users can opt out
by using `spawn<blocking_api>(...)`;
this patch also removes the old `scheduling_hint` interface and
replaces it with the more versatile `spawn_options`, e.g.,
`spawn_monitor<detached>(...)` becomes `spawn<monitored + detached>(...)`
restructured actor class hierarchy

this patch removes several classes and mixins in the actor class hierarchy and
introduces a new mixin facility (`extend<...>::with<...>`);
this patch also refactores several function signatures to take `actor_ptr`
arguments rather than `actor*`
Added smart pointer for opencl types

Uses clRetainX and clReleaseX provided by OpenCL.
The command_dispatcher now uses event callbacks

to handle results from kernel executions.
Merge branch 'unstable' into topic/opencl

Conflicts:
	src/singleton_manager.cpp
adapt to changed actor interface