add: CanvasBackend for JSON pack and unpack;
change: integrate CanvasBackend with Canvas.

Signed-off-by: liuyanghejerry <liuyanghejerry@126.com>
fix: memory leak in canvas.

Signed-off-by: liuyanghejerry <liuyanghejerry@126.com>
fix: cross-thread function call.

Signed-off-by: liuyanghejerry <liuyanghejerry@126.com>
fix: cross-thread function call.

Signed-off-by: liuyanghejerry <liuyanghejerry@126.com>
change: move all network actions in newroomwindow to roomlistdialog.

Signed-off-by: liuyanghejerry <liuyanghejerry@126.com>