After begging for so long, I got a chance to see 1.1.5 documentation
yesterday. (Thanks, dev team)
So, I reported a minor documentation error, and read around
if there are something new that I had missed.
Here is what I had missed last time (when I read just from source)
- ListBox allow icon image

Wow, now I can make the UI look more professional.
I might be able to draw these image myself (no, actually).
I might load lots and lots of available icons (in the system)
and put it into my app or my game(our topic today).

However, the Icon and the Image are different stuff.
Icon belongs to appuifw. Image belongs to graphics.
You can put Icon into ListBox, you can't put Image there.
You can put Image on the Canvas, you can't put Icon there.
Why, oh why! They are all just graphics, they should be
all interchangable. (but they aren't, ... yet)

What can an ameture hacker, like me.. , do?
DIY, of course ^_^
To make everything interchangable, I make a conversion
graph of what can be converted to what. Showing overview
Here's the result

mbm => Icon (=>screenshot =>Image ?)
bmp => Image <=> png
bitarray => Image

To make a graph tranversible from anywhere to anywhere,
where must I bridge?
Many key missing parts are
Image => mbm
Image => bmp
Image => bitarray (with GetPixel() that I requested)
png => bitarray (mod from PIL)
mbm <=> bitarray (hack mbm spec)

Of all these, the last two is the most important.
The most useful one will be mbm => bitarray
which will bring most avaiable logo to Image.
So, I will start here.