Improved profiles handling.

ocl::device can now return device_architecture_family. The vendor default profile is replaced by multiple architecture default. If the profile found uses too much resources and is invalid, it fallsback on the global defaults.
removed warnings on the generator