Improve task dependency graph
In this merge request, with @mivkov, we improve the task dependency graph by adding the level at which the task are run (e.g. top, super or below). In order to figure out the correct level, the simulation needs to be as big as possible in order to ensure that at least one cell has different level for top, the 3 supers (normal, hydro and grav) and something below.