Add license.
Add license.
Create getter for a reference to the array of todos.
Move some functionality to a separate module.
Create new filter which hides todos which has uncompleted dependencies.

An additional constraint is that the todo should not be part of a cycle,
in that case a todo should also be shown. However, this condition is not
implemented yet.

Example:

2013-07-29 Task 1       id:1
2013-07-29 Task 1.1     dep:1 id:2
2013-07-29 Task 1.2     dep:1
2013-07-29 Task 1.1.1   dep:2

The result after applying this filter will be:

2013-07-29 Task 1.2     dep:1
2013-07-29 Task 1.1.1   dep:2
Add check for inclusion in a cycle.

Do not filter tasks which are part of a cycle.