dynamically adjust print_help column width
fix move constructor and assignment
use C++11 default if supported
simplify OpenCL banckend definitions