Refactor: Task Module

This moves all task related things to the tasks module, and out of DGame. This will allow us to easily add more types of tasks in the future without cluttering up DGame.