Moved WorkGroup::run functionality into Device class.

This gives control over work-item execution to the debugger, allowing
implementation of interactive debugging functionality.