Only perform GL work in API calls into the framework

#2 arises because SyphonClients dispose of out-of-date SyphonImages on the messaging thread (currently the main thread). This change postpones their disposal to the next call to -newFrameForContext: for the appropriate context. The calls to SyphonClient which trigger GL calls are now limited to -newFrameForContext:, -stop and -release, and this is documented. Calls to CGL(Un)LockContext() in SyphonIOSurfaceImage have been removed.