geany.glade: wrap document notebook into paned and add a second one.
notebooks: Initialize second document notebook.

The notebook is initialized in the same manner as the first one. main_widgets
gets a notebooks array. Its notebook member is kept (for now) to maintain ABI
compatibility.
notebooks: Convert Geany codebase to work with multiple document notebooks.

This commit largely reworks code that accesses main_widgets.notebook directly
so that it works with multiple notebooks.
notebooks: Add item to tab bar right click menu to move tab to other notebook.
notebooks: When selecting a document via tab bar right click menu move it to
the notebook for which the right click menu was opened.
keyfile: Change session save/restore to work per-notebook.

Instead of the [files] key having all session files each notebook gets a
[notebookN] key which lists the documents (and the current one). The [files]
section is still restored in order to transition old config files.
notebooks: Add automatic notebook layouting.

This will add logic so that empty notebooks are minimized. The user-set paned
position will be remembered and restored once both notebooks contain tabs again.
notebooks: Remember notebook paned split postition across restarts.

The position is remembered under the "editor_notebooks_position" key in
geany.conf.
notebooks: Enable drag and drop of tabs between editor notebooks.

This requires installing a workaround for what appears to be a GTK bug. The
default drag-drop handler leads to assertion failures. A thin, custom one that
mimics GTK default handler doesn't have this problem but still allows to to
drop files from file managers.
prefs: Add setting to toggle between vertical and horizontal split of the document notebook.