Rework splits

This branch reworks the IDE interface for split editor views in the following broad ways:

* The previous interface shared a single tab bar between all editor splits. This uses a combobox per split instead, which is visually much clearer.
* The changes also allow for separate editor windows.

This is a fairly involved change, and it seems likely that it is not optimal and may contain some errors. Code review is especially welcome for those reasons!

Credit should go to Luca Danieli, who did most of the work on this.