working opengl context creation