Use the palette for the description text.

Fixes Issue #55
Change "a lot" to "many" in Editor module welcome screen description

Fixes Issue #57
Allow for scrolling in the Welcome module

Instead of showing all the modules, only show 4.5 modules and allow the
user to scroll through them.

Solves Issue #56
Add move up and move down button to the welcome screen

The buttons do not have a logo yet. This will be added in a later commit.
Add Gutenberg to Vesselview

This allows us to leverage the FontAwesome capabilities. Use some icons
from this library in the up and down icons.

Finish to solve Issue#56
Solves Issue#41
Add a roll effect to up and down button

This allows the user to go to the last item when clicking "up" if the first
module is selected. Likewise, the user can go to the first item when
clicking "down" if the last item is selected.

See Issue#56
Improve the kitware and the vesselview logo for a better visibility
Recently loaded files - part 1

This is a bigger undertaking that I realzed and this is as good as any
stopping point.

Methods in the main window to access the recent files from an outside
class.
In the welcome screen, a list view was added to show the recent files. This
list leverages gutenberg for a file icon. Most importantly, the list view
is using a model/view scheme. The model and the proxy model (for hiding
irrelevant file type) have been implemented in the welcome screen.

The whole things is a bit of a mess and doesn't do much. Nothing happens
on click and the scrolling isn't correct. The next commit should take
care of that.
Recently loaded files - part 2

Actually load files that have been clicked on.

To make this work, I had to:
 - In the main window
Make sure that the signal that the settings have changed is correctly sent
even when we do "clear history". This meant cleaning up a little bit of
code to make it more uniform. For example, some methods were taking
the member as an argument. It's cleaner if they just use it without passing
it around.
Also make sure that the settings are wiped properly every time we write
them.

 - In the welcome screen
Add method in the model to allow for element removal. To do so, one needs
to re-implement the RemoveRows() methods.
Removed not-implemented method recentFile.
Add accessor to the filename given a row index in the proxy for the QML.
Add a filesToOpenOnLoad property in the welcome screen. This property is
used to stored which files will need to be loaded just before loading a
module. It is easier to handle lists in the c++ code than in the QML so
the property was made to be only easy calls in QML.

 - In the QML
The recentlyLoadedFilesListView was actually sitting on top of the
description rectangle instead of being under it. To correct this, the list
view was made a sibling (and not a child) of the rectangle. The same goes
for the open button.
The mouse area of the recentFilesListView's delegate handles all the
interaction and populates/depopulates the list of files to open on load.
Factorize the button into a component file

In order to make the code clearer, all the buttons were factorized into a
single component file that can latter be reused in the WelcomeScreen.qml.
Last pass of clean up for qSlicerAppMainWindow

Return QQueue instead of QList. Since QQueue inherits from QList, it's
better to return it instead of restricting ourselves with a QList.
Also, remove the unecessary copy of the recent files in the readSettings()
method. We can directly update the internal queue from the settings.

Finally, emit a signal when the recent files are loaded for the first time
(because they change from none to something).
Highlight the recent files
Refactor the list view in a separate component

This will make maintenance easier and allow other project to extend from
it more easily as well.
Hide "Recent Files:" when no recent file is present

This is done through a Binding property so we can link the model to the
visibility property of the text
Move the proxy/model/type outside of the welcome screen

It was fine for rapid prototyping/coding but it's really quite dirty. To
improve readability and reusability, we move each of them in their own
class.
Make sure that the clear history works

Also change the image file type to the actual value ("ImageFile") so
the workflow and the editor show the recently loaded volumes.
Merge branch 'WelcomeModule-Improvements'

* WelcomeModule-Improvements:
  Make sure that the clear history works
  Move the proxy/model/type outside of the welcome screen
  Hide "Recent Files:" when no recent file is present
  Refactor the list view in a separate component
  Highlight the recent files
  Last pass of clean up for qSlicerAppMainWindow
  Factorize the button into a component file
  Recently loaded files - part 2
  Recently loaded files - part 1
  Improve the kitware and the vesselview logo for a better visibility
  Add a roll effect to up and down button
  Add Gutenberg to Vesselview
  Add move up and move down button to the welcome screen
  Allow for scrolling in the Welcome module
  Change "a lot" to "many" in Editor module welcome screen description
  Use the palette for the description text.