Add an internal data structure for tracking our rows in WindowDock.

This massively uncomplicates much of it's method implementations.