refactor(bounds): Move progress feature to a plugin

This moves progress feature to a plugin.

It also make some changes to Task, Row and Timespan objects to keep model provided by user in distinct object.

This fixes others small issues like moving a truncated task to another row.

This also adds rows, tasks and timespans on.clean events to clean or edit model objects before beeing loaded from plugins.

Close #218