Tweak the Gaant layout algorithm to arrange boxes better in Flat mode
This diff fixes two longstanding layout issues affecting the Gaant viz and also the left list of steps on the partition matrix:
- The ordering of steps in "flat" mode is technically correct but didn't group chains of solids together. Re-ordering two steps of the algorithm makes this possible.
- If steps were skipped, the "waterfall" (not timed) mode would present skipped steps on top of the executed steps rather than at the end of the chart.
I also incldued the chartjs types as a dev dependency because they are needed to fully introspect the options passed to our react-chartjs-2 components
Test Plan: Run tests
Reviewers: dish, prha, alangenfeld
Reviewed By: dish
Differential Revision: https://dagster.phacility.com/D4599