How to display an image in the gui?

you can use any string for bl_category, it will be used as vertical tab label. If you use an existing tab’s label text, it will occur in that tab too.

No, there’s no real way to solve the update problem, this is actually intentional in Blender’s property/UI design. You can workaround it by always forcing redraws, but that will slow everything down noticably if there’s a lot in the panel to draw.