Now that I have some free time, I've been developing something that can give me 1) task dependency, 2) infinite hierarchies, 3) a better UI, 4) integration with other project management tools (e.g. mindmaps, kanban), 5) simpler implementation, and 6) a reward system for psychological motivation.
Have you looked at IQTELL? I believe it does most of that, and can be configured to do the rest. For sure, the task dependencies and infinite hierarchies are there. I don't know about the interfaces or the "simpler implementation", (which I think is going to be your most difficult challenge in creating your software), those are pretty subjective. As to your "reward system", I have no idea. I guess you could connect it to a vending machine and have it spit out a candy bar when you got a major task completed! :)