Add a function reloadPlugins to PluginComponent

And replace the language changed function from the PluginBrowser to
PluginComponent as I suggest this is a better place
The langage change was set to early in the previous commit
Make it possible to reload plugins via config notifiers

As it returns a parameter add a dummy
GME: Add option to enable/disable from extension menu
Add option to include other skin xml files

To be able to split e.g. templates from te basic skin etc.
Generate automatically marks while timeshifting.

Marks are stored in .cuts file when timeshift is stored.

Signed-off-by: Littlesat <littlesat99@yahoo.com>
LanguageSelection: Close resursive if language is changed

When you not do that you still see menus that are in the previous
language, so when the language is realy changed and you perform a
recursive close you do not see "rests" of menues presenting in the
previous language. This behavior was anoying me fore a long time - undless I do
not see this often :D.
More realistic hardware blit usage policy

Some quick measurements indicated the price of setting up a hardware
blit was quite high. Rendering large pixmaps is considerably faster
though (70ms vs. 6ms on 1920x1080 surfaces) so limit its use to only
larger surfaces, and avoid it on smaller ones.

On 8-bit images, alphaTest blitting works okay. On 32-bit it appears
to be broken, so don't use it.
Harddisk: Collect "-O" options together for mkfs.ext4

Apparently, mkfs.ext4 doesn't parse multiple "-O" options any more.
So collect them into a single set and pass them as a comma list.

This fixes this error message when you initialize a big disk:
mke2fs 1.42.8 (20-Jun-2013)
mkfs.ext4: specifying a cluster size requires the bigalloc feature
Add option to conditionally show menu options by a config
Add option to remove VCR scart from main menu (default off)

As most users are using HDMI I suggest most times this option is not
required at all. Especially when it is on the main menu.
Move VRC Scart on main menu option to Videomode (av) menu
Remove obsoleted config.usage.show_vcr_scart

Sorry as I forgot to remove this in the previous commit.
listboxservice: Render picons a bit smaller

Picons are usually about 3:2 in size, or even 100:70, not likely 2:1.
So reserve 1.5*height for the icon area.
gdi/gpixmap: Implement software scaling

Not all hardware supports alphablending and/or scaling, so implement
a simple software version. Also, the software version is faster for
small images (e.g. 50x50 pixels or so) because of the overhead of
setting up hardware blitting (see previous commits on this file).
listboxservice: On closer inspection, picons are 5:3

The ocram sets use 100:60 sized, and since the skins usually don't
taks aspect ratio into account, 5:3 should be "just right". Thus
no background.
listboxservice: do not keep aspect ratio anymore

As the target has already the expected aspect ratio keeping the
aspect ratio is not required anymore. So currently it can always
be scaled without having blackfilled borders.
It might have  a disadvantage with picons that big differ from the
usual picon relations.
In addition add a margin of 8 to the service name so the service
name is not "glued" to the picon.
listboxservice: Use LoadPNG and fit it to the available space

Now that we have scaled rendering, we can skip the bulky picload
and just simply load a PNG file and render it where we need it.
This renders faster and also nullifies palette problems with borders.

Also fix compiler warnings about parentheses.
gdi/gpixmap: Move alphablend function into gRGB class

gRGB knows about endianness and converting bytes to packed long,
so making alphablending its responsibility reduces code considerably.
gdi/font.cpp: Remove unused variable width

Variable width is assigned to, but never used