Introduce Tasks for Players

The goal was to add some basic notion of tasks a player has to perform. The model is pretty generic, so such a task can be whatever you can imagine. It could be used to execute shell commands or trigger some pre-defined commands a certain type of player understands. 

The player gets pending tasks via the hardware player polling API call and can mark them as done afterwards
When writing tests I'd rather write some tests for the controller then for the UI, especially because the UI is trivial and uses cancan to display proper options. 

The major reason why no tests for the controller were written is because the task permissions are delegated to the screen permissions, which are not in control of the plugin, so the tests would implicitly assume some permission from concerto which can change, which would lead to breaking test (Assuming we would embed the concerto engine for testing). Or we would have to copy a whole lot of fixtures from concerto to the plugin to do some tests in isolation.

For me it's not yet clear how we can best write test that go beyond unit test for a plugin that heavily depends on the concerto core. I think that's the reason why this plugin does not yet have any real tests at all (the stub tests don't even run)