with-gl-context in canvas%

Passes the given thunk to call-as-current of the result of get-gl-context for this canvas's DC as returned by get-dc.

The call-as-current method acquires a re-entrant lock, so nested calls to with-gl-context on different threads or OpenGL contexts can block or deadlock.