Abstracted window data type and improved canvas abstraction

  - Window has callbacks, called by sgui_window_* function that does
    sanity checking and what not (AND THAT DESIGN IS FINAL)
  - certain callbacks (both for window and canvas) don't have to be
    set, so implementations don't have to create dummies
  - widget manager creation and cleanup is performed by common
    sgui_window_internal_init/deinit functions
Added sgui_internal_window_postinit function

  - Contains common, platform angostic, window creation code
  - Called when window initialization is done inside sgui_window_create
Fixed bailing in WinDOS backend sgui_window_create
Cleaned xlib window creation a bit

  - Moved OpenGL code in xlib backend more into "opengl.c"
  - minor cleaning

cleaned