Completion: split the code into sections

The sections:
- Utilities functions
- Show, hide and activate
- Info window
- Switch between providers
- Accelerators to activate the first proposals
- Various callbacks
- Handle population
- Properties, construction and destruction
- Public or non-static functions

A section is displayed like:

/**********
 * Section
 **********/