refactor pool and put struct UserNode, Frame into public include file `ichat.h`