[Fix] Preventing tasks from being recursively dependent on themselves

Fixes #29.

- Checking for cycles.
- Fixed issue with dependencies triggering before needed.
- Fixed tasks being affected by drawing structure.
- Fixed task IDs not being displayed or being inconsecutive.W