Fix double release in wxGLCanvas code.

The change in r77699 was partially wrong, we shouldn't release Objective-C
object if initializing it failed.

See #16555.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@77740 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
cairo_image_surface_get_{width,height} have been available in cairo since version 1.0


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@77758 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775