Completion: separate CompletionPrivate fields into sections

The fields are not renamed, they are just moved, and some comments are
added to explain them.

For the widgets, some IDs in the UI file are renamed, to have the same
name as the struct field, or to have a better name (the struct fields
will be renamed later in this case).
Completion: rename struct field window -> main_window

Now there are the main_window, and the info_window.
Completion: simplify the code for the "Details" button

Use the 'label' and 'image' properties of a GtkButton, instead of
reinventing the wheel.

It is a little less convenient for getting the mnemonic keyval of the
label.
Completion: warning when a header is selected

Normally it never happens, but it's better to have the warning, just in
case.
Completion: simplify render_proposal_{icon,text}_func()

The 'markup' column of a header row is now handled directly in the
CompletionModel.
Completion: simplify icon cell renderer

Instead of using a cell data func, add a boolean column in the model,
IS_HEADER, and use this column for setting the attributes of the icon
cell renderer.

It also moves all the init stuff of the TreeView in the new function
initialize_tree_view().
Completion: simplify text cell renderer

Same as for the icon cell renderer.

It uses only the MARCKUP column from the model.