Started turning the OpenGL backend to an actual OpenGL backend

  - OpenGL backend handled like other backends
  - OpenGL canvas uses OpenGL compatibillity profile immediate
    mode to render widgets
  - EXPOSE event fired to draw background

TODO:
  - pixmap blending looks glitchy
  - add core profile port
  - add text rendering
  - optimize
  - test on different machines with different graphics cards
    (currently only intel sandy bridge and nvidia GT 540;)