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
gdi/gpixmap: Implement software scaling for 32-bit images

Untested.
gdi/gpixmap: Add functionality to keep aspect ratio in blitscale
Listboxservice: Use new keep aspect ratio functionality from blitscale

Possibly later the GM-EPG can also use this
gpixmap: fix typo for software scaling 32-bit images
gpixmap: simply keep aspect ratio for blit scale
gdi/picload: Fix 32-bit rendering (handle stride correctly)

Filling the "bars" at the top and bottom wasn't being done
properly, it did not take into account that stride != width.
This caused images to be rendered as if "shifted".
MultiContent: Add flag to make it possible to scale pixmaps
GME: Use new multicontact flags to scale picons and backgrounds
eListboxcontent: cosmetic as tabs and spaces were used
gdi/gpixmap: Fix rendering 32-bit with alphablending

Missing a "++dst" will cause it to render nothing at all.
smartptr: Remove assertions, change intptr_t to unsigned int

ePtr is used a lot, so assertions are expensive (they'll create a
branch in the code). Since no good ever came of these anyway, just
remove them from the class.

Change intptr_t to just integer, hoping to avoid the SWIG message:
"python detected a memory leak of type 'intptr_t *', no destructor found"
(fast)scan: Solved wierd behavior after removing userbouquets.

When a fastscan or last scanned user bouquet was removed there was some
strange behavior that at a new scan the bouquet did not reappear. You
needed to restart enigma2 before the new bouquet was created and then it
first time this resulted into a bouquets that includes the previous
contants with the new scanned results added, you can even see everything
double.
This was caused because when a userbouquet was removed by the user
interface that only the reference in the rootref was removed.
This solution checks for the reference of a fastscan bouquet or last
scanned bouquet being available in the rootref. When not it will be added
and a new user bouquet will be created or an existing one will be
reopened. When the userbouquet can be created it will always be cleared
first before it is filled with the new scanned services to ensure we do
not have services double or the previous scanned services are still
included.
Revert "(fast)scan: Solved wierd behavior after removing userbouquets."

This reverts commit fbeb8d443d98915180bbfc7d35a22818456915b7.
ChannelSelection: reload bouquets after removal
fastscan: Do not move existing userbouquet to top

Previously I used an extra flag but that made no sense as simply just the
code that moves the bouquet to the top can be removed
cablescan: Do not move existing userbouquet to top
InfoBarGenerics: Correctly set seekstate