Review/fix param checks at start of all lib functions

Remove cl_context_new_from_cldevices() static function and put
its logic in cl_context_new_from_device_full().