Cleaning up vexcl/devlist.hpp

Using std::function<bool(const cl::Device&)> to store operands inside
filter expressions. This allows to make the expressions non-templated,
and solves potential dangling references problems.