opengl, added return of context reference from within Init method, fix thid: either accept a shared_ptr (best) or a flag to disable destruction of Context