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 to
ufo_task_get_num_inputs(), ufo_task_get_num_dimensions() and
ufo_task_get_mode().
Update task generator
Update manual
Add group scheduler with different policy
Add Python multi threading back in
Use simpler task structure