Modified the borrowing of GL context rather heavily. Should be safer faster now