Context: add new_from_devices_full+simplify new_from_filters_full

The final responsability of creating a context wrapper is now
of new_from_cldevices_full().
This refactoring removed lots of more or less repeated code to the
expense of a bit of performance when selecting devices using
filters because devices need to be wrapped for filtering and
unwrapped for context creation, and possibly re-wrapped in context
object if client requires them during program execution.