fix incompatible pointers, sketchy string handling, indentation, warnings
Part of long slog to get the core to compile with no warnings.
- fixed Guillem's implicit, incompatible pointer casts with the canvas-private abstraction handlers
- fixed string handling with strncat
- addressed various other problems in g_editor.c, g_canvas.c, and u_pdreceive.c which ended up spamming the build with warnings
- cleaned up code per Miller's style spec, added brackets for confusing if statements, etc.