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).