[WIP] Simplify task interface

This removes the distinction between UfoGpuIface and UfoCpuIface and merges functionality into the top-level UfoTaskIface. Also the API for querying filter information has changed from ufo_task_get_structure() to individial calls toufo_task_get_num_inputs(), ufo_task_get_num_dimensions() and ufo_task_get_mode().

Outstanding issues:
- [ ] remote execution not working