Cita: Para detectarlo a partir del objetos canvas deberia recorrer todos los objetos puntos y comparar las coordenadas con las del click, ¿no?
No necesariamente. Si diseñás bien no sería necesario hacer algo tan costoso. Un buen ejemplo es cómo detectan las colisiones aquí:
http://billmill.org/static/canvastutorial/
Con respecto a la segunda manera, hay una tendencia de cierta gente que hace juegos relacionada con el principio "divide y vencerás" que sugiere no trabajar con uno sino varios objetos canvas para dibujo y transformación, y moverlos como se hace normalmente con elementos de bloque (como siempre se venía haciendo con el desarrollo de juegos en dhtml clásico antes de que existiera canvas). No es algo muy difundido y no estoy demasiado de acuerdo porque sólo se trata de relegar al objeto canvas a la categoría de sprite, pero es algo para analizar y estudiar.