Corrected wrong dll export macro placement
Moved canvas rendering code to backend to utilize platform APIs

 - primitive drawing implementations for OpenGL and WinDOS
 - Xlib backend uses xlib drawing functions to draw to pixmap
 - Xlib backend fakes alpha blending for now

 - no more XImage extension usage in Xlib backend
 - way lower memory footprint on Unix like systems

TODO:

 - Utilize XRender extension in Xlib backend
 - Use GDI drawing functions in WinDOS backend
Added missing NULL pointer check in tab group widget

Caused crash when clicking close to the border of two tabs