For anyone else attempting this, I found a solution that seems to work.
Instead of a swt.GLCanvas I've switched to using LWJGL's AWTGLCanvas
(which *does* allow the sharing of a single gl context). Then I'm using
the SWT_AWT stuff to embed the AWTGLCanvas inside a regular SWT composite.
It seems to work - textures can be shared and it seems to embed nicely.
Haven't tried mouse events yet, but from the sounds of it they should be
ok.