This removes most usages of the separate flag, instead relying on ride groups to do its job.
Research is more complicated and will follow in another commit.
This adds a vector of indices used for the track designs array, which is
used instead of the window list index.
Some other things I've edited that are not directly related to this
commit:
- Orders widgets in logical order like how they appear on screen
- Adds some comments to existing code
Regression from #6574. Restoring the backup of SPR_TEMP was removed which was necessary as it is the sprite for grass tile zoomed out. Instead make SPR_TEMP a special sprite ID which is not used for anything else apart from temporary sprite drawing.