added device::get_platform_info() and some c++11 polishing